【问题标题】:Silverlight ObservableCollection v. Reactive Extensions for .NET (Rx)Silverlight ObservableCollection 诉 .NET 的响应式扩展 (Rx)
【发布时间】:2011-02-03 16:43:37
【问题描述】:

我想我在这里遗漏了一些东西,但我只是在阅读jesse liberty 的这篇关于Reactive Extensions for .Net 的文章。他的示例是针对使用 Silverlight 的 Window Phone 7,但 Silverlight 也具有 ObservableCollection 数据类型。所以我想弄清楚有什么区别......也许 Rx 更强大?

谁能比较和对比这些?我什么时候会使用其中一个?

谢谢

【问题讨论】:

    标签: silverlight observablecollection system.reactive


    【解决方案1】:

    ObservableCollection 和 RX 只有一个共同点——Observable这个词。

    就是这样。

    ObservableCollection 是一个面向 UI 的类,它实现了 INotifyCollectionChanged。

    Reactive Extensions 是围绕 IObservable 和 IObserver 接口构建的库,与 UI 没有直接关系(认为可以在 UI 场景中成功使用)。

    【讨论】:

      【解决方案2】:

      这是一个不幸的名字,但这里有一个集合,在 Silverlight 意义上和 Rx.NET 意义上都是 Observable:

      https://github.com/xpaulbettsx/ReactiveUI/blob/master/ReactiveUI/ReactiveCollection.cs

      例如:

      myReactiveCollection.ItemsAdded
          .Subscribe(x => Console.WriteLine("{0} was added", x));
      

      这个类是ReactiveUI 的一部分,ReactiveUI 是一个与 Rx.NET 集成的 M-V-VM 框架(完全公开:我写的)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-25
        • 2011-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多