最近一天左右我一直在玩Rx,有一件事对我来说仍然没有意义,那就是Subject。
我什么时候可以直接使用这个类?
在我看来,我更有可能公开一个IOobservable,并使用Publish方法创建一个IConnectableObservable。然后,我可以选择使用RefCount转换回监视其订阅者的IObservable。
我肯定我错过了什么。如果你有任何见解,我将不胜感激。
感谢
直接公开Subject不太可能是您想要的,这是正确的。通常,您会在内部使用Subject,并将其作为IOobservable公开。你什么时候可以这样做的一个例子就是这个问题。
我也是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);
}
}
我在ViewModel类内部使用了AsyncSubject作为某种完成标志的快速修复方法,我想说它们看起来比Observable干净得多。改为Create。