首页 > 解决方案 > 如何获得表达式结果?

问题描述

我构建如下表达式:

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

那么,我可以通过表达式结果得到关于“5+6”的真实结果吗?

标签: c#expression

解决方案


我认为您需要将其编译为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());

表达式树文档

在线尝试


推荐阅读