У меня есть два дерева выражений, определенные следующим образом:
private Expression<Func<TEntity, TPropertyResult>> PropertyAccessor { get; set; }
и
private Expression<Func<TPropertyResult, bool>> TestExpression { get; set; }
Мне нужно создать новое дерево выражений, которое будет эквивалентно:
var expression = p => this.TestExpression(this.PropertyAccessor(p));
При использовании Expression.Invoke(this.TestExpression, this.PropertyAccessor)
я получаю следующую ошибку
{"Выражение типа 'System.Func`2[MyEntity,System.String]' нельзя использовать для параметра типа 'System.String'"}
TPropertyResult
— это строка во время моего теста.
Я пробовал использовать Expression.Call
или Expression.Invoke
. Не повезло. Что я должен использовать?
{"Expression of type 'System.Func
2[MyEntity,System.String]' нельзя использовать для параметра типа 'System.String'}. That is when I try to specify a string as the
TPropertyResult`, но проблема не ограничивается строкой. - person Pierre-Alain Vigeant   schedule 19.08.2010