What are some instances in which expression trees are useful?我完全理解表达式树的概念,但是我很难找到它们有用的情况。 是否有可以应用表达式树的特定实例? 还是仅作为代码的传输机制有用? 我觉得我在这里缺少什么。 谢谢! 一些单元测试模拟框架利用表达式树来建立强类型的期望/验证。即:
在这里,表达式从不实际执行,但是表达式本身包含有趣的信息。没有表达式树的替代方案是
作为代码的执行机制很有用。使用解释器模式,可以直接解释表达式树。这非常有用,因为它非常容易实现。这样的解释器无处不在,甚至在似乎没有"解释"任何东西的情况下也可以使用,例如用于打印嵌套结构。 当您需要访问函数逻辑以某种方式更改或重新应用它时,表达式树很有用。 Linq to SQL是一个很好的例子:
如果没有表达式树,则此语句将必须返回所有记录,然后将C#where逻辑应用于每个记录。
使用表达式树,可以将
|