2012-02-14 30 views
1

我一直在玩最后一天左右的Rx,还有一件事对我来说仍然不太合理。学科vs发布

我什么时候可以直接使用这个类?

在我看来,我更可能公开IObservable并使用Publish方法创建IConnectableObservable。然后我可以选择使用RefCount转换回监视其订阅者的IObservable。

我确定我在这里错过了一些东西。如果您有任何见解,我会很感激。

谢谢

回答

1

你是正确的暴露主题直接不可能是你想要的。通常,您可以在内部使用主题并将其作为IObservable公开。你可能会这样做的一个例子是this question

0

我使用AsyncSubject作为快速修复的ViewModel类内部的某种完成标志,我会说他们看起来比做Observable.Create更干净。

1

我也是Rx的新手,但我已经用它们来观察有热点的类。即。

class NumberMonitor 
{ 
    Subject<double> _source = new Subject<double>(); 
    public IObservable<double> NumberStream {get {return _source.AsObservable; } } 

    void OnSomeEvent(object sender, EventArgs e) 
    { 
    _source.OnNext(1); 
    } 
} 
+0

是的 - 一个主体是最直接的IObservable,它只是一个你手动发信号,就像你在上面做的那样 – 2012-03-02 07:10:50