F# IObservable.Add与IObservable.Subscribe

F# IObservable.Add与IObservable.Subscribe,f#,system.reactive,reactive-programming,observable,subscribe,F#,System.reactive,Reactive Programming,Observable,Subscribe,这两种方法的区别是什么?每种方法的最佳情况是什么?我知道它们都能附加一个函数来处理IObservable的排放,但我真的不理解除此之外的区别 编辑 对不起,我应该指定的。IObservable.Add的定义如下: 也许这只是一件小事。顺便说一下,我用的是F#。不是C#。没有扩展方法IObservable。在Rx库中添加,并且该方法不是接口的一部分-因此我不确定您从何处获得该方法IObservable.Subscribe是观察者订阅可观察流中通知的方式 您可以在此处看到这些接口的完整定义(属于4

这两种方法的区别是什么?每种方法的最佳情况是什么?我知道它们都能附加一个函数来处理IObservable的排放,但我真的不理解除此之外的区别

编辑

对不起,我应该指定的。IObservable.Add的定义如下:


也许这只是一件小事。顺便说一下,我用的是F#。不是C#。

没有扩展方法
IObservable。在Rx库中添加
,并且该方法不是接口的一部分-因此我不确定您从何处获得该方法<代码>IObservable.Subscribe
是观察者订阅可观察流中通知的方式

您可以在此处看到这些接口的完整定义(属于4.0版的.NET基类库的一部分):

您可能希望查看msdn页面上的Rx资源,尤其是视频,因为您似乎正处于Rx旅程的开始

编辑
鉴于您正在使用F#-yes的说明,似乎
Add
是F#特定的,以及您所指的
Subscribe
扩展方法;我从未在C#中使用过它。这两种F#方法似乎只对
OnNext
通知做出反应,因此看起来相当奇怪。如果你想使用可观测数据,我会避开这些方法并坚持使用。(Rx可从F#)使用。

那是什么
添加
-方法,它的定义在哪里?我打赌
订阅
可以让你取消订阅,而
添加
不能,因此,
Add
只有在您忽略
订阅的结果时才有用。@ildjarn确实是在描述中:将侦听器函数永久连接到可观察对象我想可能您误解了这个问题。OP指的是
Control.Observable
F#模块,而不是
ioobservable
或Rx.NET。答案解释得很好,只是针对错误的东西,依我看。