Rx Switch()操作符发生了什么变化?

时间:2011-07-04 14:31:17

标签: system.reactive

我正在通过几天前从数据开发人员中心(here)下载的反应式扩展动手实验(Rx HOL .NET.pdf)。

我使用NuGet:

将这些引用添加到我的项目中
System.Reactive 1.0.10621.0

System.Reactive.Windows.Forms 1.0.10621.0

我差不多完成了实验,但是我试图实现.Switch()示例,Visual Studio无法找到扩展方法:

  

'System.IObservable'   不包含的定义   '切换',没有扩展方法   '切换'接受第一个参数   类型   'System.IObservable'   可以找到(你错过了吗?   使用指令或程序集   引用?)

现在我知道此动手实验室文档已过期,因为某些内容已重命名(FromEvent变为FromEventPattern)且某些内容已被删除(RemoveTimeStamp)且此文档没有反映出来。对于我的生活,我无法猜测他们重命名为Switch的是什么,或者弄清楚他们可能将它移动到哪个装配,或者找到一个全面的发行说明列表,表明它已被移除。

任何人都知道我在哪里可以找到Switch以及它现在的名字是什么?

1 个答案:

答案 0 :(得分:10)

Switch扩展方法不会扩展IObservable<T> - 它会扩展IObservable<IObservable<T>>。完整的签名是:

IObservable<TSource> Switch<TSource>(this IObservable<IObservable<TSource>> sources)

尝试输入Observable.Empty<IObservable<object>>().并查看是否出现Switch

如果没有,请检查using命名空间声明。