Можно ли проанализировать вложенные выражения в System.Linq.Dynami c? - PullRequest
0 голосов
/ 15 апреля 2020

Используя этот пакет, я пытаюсь проанализировать выражения, например, следующие после использования одной из перегрузок 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");

Ожидается ли, что такое выражение может быть проанализировано библиотекой или это неподдерживаемое поведение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...