首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.NET框架4.0 Beta2中的IObservable<T>

.NET框架4.0 Beta2中的IObservable<T>
EN

Stack Overflow用户
提问于 2009-10-25 17:10:36
回答 3查看 1.1K关注 0票数 2

IObservable<T>IObserver<T>接口直接放在.NET Framework4.0 Beta2的System命名空间中。为什么不像IEnumerable<T>那样在System.Collections.Generic中使用

附注:Silverlight Toolkit中的Reactive Framework预览在System.Collections.Generic命名空间中包含IObserver<T>

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-11-07 19:12:56

新的IObservable/I观察者接口描述的东西是比集合更高的抽象,这可以被视为计算的特例(这就是为什么Haskell中的列表是单体的原因)。因此,很明显,这种泛化是放在System名称空间中。

看看Erik Meijer的this brilliant cast,他描述了接口背后的想法。

票数 2
EN

Stack Overflow用户

发布于 2009-10-25 17:17:24

IObservable是标识实现Observer模式的类的接口。它与集合无关。它更多地与提供事件的替代方案有关。

票数 4
EN

Stack Overflow用户

发布于 2010-09-13 16:06:57

虽然这是我偶然遇到的一个老问题,但我只是想支持@ControlFlow对IObservable和IEnumerable之间的“二元论”的评估,认为这是一个“基于推送”和“基于拉取”的集合,并提供了Erik Meijer的“15分钟内的处方”的链接,可以引用他的话来说明这一点。http://channel9.msdn.com/posts/Charles/Erik-Meijer-Rx-in-15-Minutes/

因此,这个基于推送的集合可以从根本上将“一系列普通的调用事件”的基本范例转变为一个异步的、可选择的、可查询的、可传递的和可订阅的声明性可操作的一级集合。这样做的东西属于核心BCL名称空间,或者可能应该拥有自己的名称空间,但远远超出了另一个集合,无法共享其名称空间。请注意,这只是我的观点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1620434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档