我正在使用Hands-On-Labs的响应式扩展(Rx HOL . net .pdf),这是我几天前从数据开发中心(这里)下载的。
我将这些引用添加到我的项目中,使用NuGet:
System.Reactive 1.0.10621.0
System.Reactive.Windows.Forms 1.0.10621.0
我几乎完成了实验室,但我遇到了一个障碍,试图实现。switch()的例子,Visual Studio无法找到扩展方法:
"系统。IObservable"不包含的定义'Switch',没有扩展方法'Switch'接受的第一个参数为类型的系统。IObservable"能找到吗(你是不是少了一个?使用指令或程序集参考?)
现在我知道这个Hands On Labs文档已经过时了,因为某些东西已经被重命名(FromEvent
成为FromEventPattern
),某些东西被删除(RemoveTimeStamp
),而这个文档并没有反映出来。对于我的生命,我猜不出他们将Switch
重新命名为什么,或者弄清楚他们可能将其移动到哪个汇编,或者找到一个全面的发布说明列表,表明它被删除了。
谁知道我在哪里可以找到Switch
和它的当前名称是什么?
Switch
扩展方法不扩展IObservable<T>
-它扩展IObservable<IObservable<T>>
。完整签名为:
IObservable<TSource> Switch<TSource>(this IObservable<IObservable<TSource>> sources)
试着输入Observable.Empty<IObservable<object>>().
,看看Switch
是否出现。
如果没有,请检查您的using
命名空间声明