什么是.net 4.0 Expression Trees的一个很好的用例?

Kev*_*eus 16 .net linq expression-trees

这个灵感来自我的语言大师同事,他似乎无法找到对他们的好用,经过我自己的几次蹩脚尝试后,我不得不同意.

现在我知道,一旦你有一些很好的实际原因,这些概念往往会更容易流动.

目前似乎唯一的目的是让你写一个Linq提供者?

是吗?这有什么其他好处吗?

Bry*_*ter 16

表达式树非常强大,因为它们可以让您像数据一样处理代码.用户习惯于构建数据,保存数据并稍后再返回.

表达式树允许您使用代码执行相同的操作.例如,您可以获取用户的输入(复选框,数字范围等)并将其转换为表达式树.然后可以执行该表达式树,或将其存储以供以后使用.很酷.

考虑报告的实际用途,例如构建和保存数据过滤器和数据映射.另一个实际用途是根据用户定义的规则支持应用程序中的自定义工作流程.

这里有一些关于序列化表达式树(http://code.msdn.microsoft.com/exprserialization)的MSDN代码,它应该让想法流动起来.


Cha*_*ion 8

您可以使用表达式树将域语言转换为可执行代码.


Jan*_*ter 5

寻找问题的解决方案是吗?

表达式树允许您将代码表示为可转换的数据结构,因此它们非常适合在当前最强大的 Linq To SQL 语言之间进行转换。

除了 DSL(即转换)之外的另一个用途是并行化(即拆分),该领域的示例是 PLINQ。