Вы можете создать дерево выражений, но не можете объявить его тип в коде.Где вы получили это:
Expression<Func<SomeClass,T>> le = ...
T
должно быть известно во время компиляции (или быть параметром типа).Вместо этого ваша T
- это переменная , значение которой известно только в время выполнения .
Теперь, следующий вопрос: действительно ли вам это нужно в любом случае - иликаким способом вам это нужно.Что вы пытаетесь сделать с выражением?Не могли бы вы просто использовать в качестве типа переменной неуниверсальный класс Expression
?
Если вы действительно хотите дерево выражений, вам не нужно беспокоиться о MakeGenericType
и т. Д. - используйте метод Expression.Property
.