Как я могу получить результат выражения? - PullRequest
0 голосов
/ 01 марта 2019

Я строю выражение, как показано ниже:

Expression left = Expression.Constant(5, typeof(int));
Expression right = Expression.Constant(6, typeof(int));
Expression result = Expression.Add(left,right);

Итак, могу ли я получить реальный результат о "5 + 6" через результат выражения?

1 Ответ

0 голосов
/ 01 марта 2019

Я думаю, вам нужно скомпилировать его как Func:

Expression left = Expression.Constant(5, typeof(int));
Expression right = Expression.Constant(6, typeof(int));
Expression result = Expression.Add(left,right);

var compiled = Expression.Lambda<Func<int>>(result).Compile();
Console.WriteLine(compiled.Invoke());

Документация по дереву выражений

Попробуйте онлайн

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