Reactive Framework for .NET示例证明了它的用处

bit*_*onk 9 .net reactive-programming system.reactive

围绕.NET 4.0中的新Reactive Framework进行了大量宣传.虽然我认为我不知道它的基本概念,但我并没有完全销售,因此它非常有用.你能想出一个很好的例子(中途易于理解),它完全展示了Rx的力量和实用性吗?展示一些使用Rx完成生活变得更容易的东西.

ama*_*int 10

这是一个简单的例子.使用LINQ to事件以完全声明的方式编写拖动操作.

   //Create an observable with the initial position and dragged points using LINQ to Events
   var mouseDragPoints = from md in e.GetMouseDown()
                           let startpos=md.EventArgs.GetPosition(e)
                           from mm in e.GetMouseMove().Until(e.GetMouseUp())
                           select new
                           {
                             StartPos = startpos,
                             CurrentPos = mm.EventArgs.GetPosition(e),
                           };
Run Code Online (Sandbox Code Playgroud)

并从startpos到当前pos绘制一条线

//Subscribe and draw a line from start position to current position  
            mouseDragPoints.Subscribe  
                (item =>  
                { 
                  //Draw a line from item.Startpos to item.CurrentPos
                }
                ); 
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,整个地方都没有事件处理程序,也没有用于管理状态的布尔变量.

如果您对这些GetEventName()方法感到好奇,建议您阅读整篇文章并下载源代码并使用它.

在这里阅读并使用源 >>