Я динамически создаю запросы linq для nHibernate.
Из-за зависимостей, я хотел бы бросить/получить типизированное выражение позже, но до сих пор я был неудачным.
Это не работает (бросок должен произойти в другом месте):
var funcType = typeof (Func<,>).MakeGenericType(entityType, typeof (bool));
var typedExpression = (Func<T, bool>)Expression.Lambda(funcType, itemPredicate, parameter); //Fails
Это работает:
var typedExpression = Expression.Lambda<Func<T, bool>>(itemPredicate, parameter);
Можно ли получить "инкапсулированное" типизированное выражение из выражения LambdaExpression?