Используя этот пакет, я пытаюсь проанализировать выражения, например, следующие после использования одной из перегрузок DynamicExpression.Parse
или DynamicExpression.ParseLambda
.
Образец лямбды I ' m пытается express:
x => x.SomeCollection.Max(y => y.SomeValue)
Пример выражения, которое я придумал, чтобы представить вышеприведенное выражение, а затем проанализировать:
x.SomeCollection.Max(y.SomeValue)
Обратите внимание, что я знаю типы x
и y
и могу создать из них набор параметров и передать его одной из Parse
функций.
Я считаю, что то, что я делаю, похоже на следующий фрагмент из docs , за исключением того, что мой второй параметр вложен в функцию.
ParameterExpression x = Expression.Parameter(typeof(int), "x");
ParameterExpression y = Expression.Parameter(typeof(int), "y");
LambdaExpression e = DynamicExpression.ParseLambda(new ParameterExpression[] { x, y }, null, "(x + y) * 2");
Ожидается ли, что такое выражение может быть проанализировано библиотекой или это неподдерживаемое поведение?