public static bool HasValue(T value, Expression> property) { try { var memberExpression = (MemberExpression)property.Body; var prop = (PropertyInfo)memberExpression.Member; //Attempt to resolve var val = prop.GetValue(value); return val != null; } catch { return false; } }