LINQ表达式类可以实现观察者模式而不是延迟执行吗?

Tor*_*mod 4 c# linq linq-to-objects state-machine expression-trees

我们在使用状态机的应用程序中遇到问题.该应用程序是作为一个Windows服务实现的,并且是基于迭代的(它通过所有东西"预先"),并且状态机正在处理无数的实例.

当我正在阅读Jon Skeets的MEAP版本书"C#in Depth,2nd ed"时,我想知道我是否可以改变整个事情以使用linq表达式实例,以便使用表达式树来表示警卫和条件.

我们正在这个状态机引擎上构建许多应用程序,并且可能会从VS 2010中的新Expression树形象可视化器中受益匪浅

现在,简单的例子.如果我有一个表达式树,其中存在具有两个子节点的OR表达式条件,那么它们是否可以实现观察者模式以使表达式树成为事件驱动的?如果条件发生变化,它应该通知其父节点(OR节点).由于OR节点随后从"false"变为"true",因此它应该通知ITS父节点,依此类推.

我喜欢表达式树的声明性模型,但是如果您想要基于事件的"实时"条件,则延迟执行模型在控制流的相反方向上工作.

我在野鹅追逐吗?或者BCL中是否有一些概念可以帮助我实现这一目标?

And*_*are 5

听起来您可能会对新的Reactive Framework感兴趣:

Rx是一个使用可观察集合组成异步和基于事件的程序的库.