【发布时间】:2009-12-06 18:53:17
【问题描述】:
我在运行时创建了一个 lambda 表达式,并且想要对其进行评估 - 我该怎么做?我只想自己运行表达式,而不是针对任何集合或其他值。
在这个阶段,一旦它被创建,我可以看到它的类型是Expression<Func<bool>>,值为{() => "MyValue".StartsWith("MyV")}。
当时我想我可以直接调用var result = Expression.Invoke(expr, null); 反对它,我会得到我的布尔结果。但这只是返回一个InvocationExpression,在调试器中看起来像{Invoke(() => "MyValue".StartsWith("MyV"))}。
我很确定我已经接近了,但不知道如何得到我的结果!
谢谢。
【问题讨论】:
标签: c# lambda expression-trees