我正在通过几天前从数据开发人员中心(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
以及它现在的名字是什么?
答案 0 :(得分:10)
Switch
扩展方法不会扩展IObservable<T>
- 它会扩展IObservable<IObservable<T>>
。完整的签名是:
IObservable<TSource> Switch<TSource>(this IObservable<IObservable<TSource>> sources)
尝试输入Observable.Empty<IObservable<object>>().
并查看是否出现Switch
。
如果没有,请检查using
命名空间声明。