Linq 主题与出版
我一直在玩Rx的最后一天左右,有一件事,仍然不是很有意义,对我来说是主题 我什么时候可以直接使用这个类 在我看来,我更可能公开一个IObservable,并使用Publish方法创建一个IConnectableObservable。然后,我可以选择使用RefCount将其转换回监视其订户的IObservable 我肯定我错过了什么。如果你有任何见解,我将不胜感激Linq 主题与出版,linq,c#-4.0,system.reactive,Linq,C# 4.0,System.reactive,我一直在玩Rx的最后一天左右,有一件事,仍然不是很有意义,对我来说是主题 我什么时候可以直接使用这个类 在我看来,我更可能公开一个IObservable,并使用Publish方法创建一个IConnectableObservable。然后,我可以选择使用RefCount将其转换回监视其订户的IObservable 我肯定我错过了什么。如果你有任何见解,我将不胜感激 谢谢你是对的,直接暴露对象不太可能是你想要的。通常,您会在内部使用主题,并将其作为IObservable公开。您可能会这样做的一个例子
谢谢你是对的,直接暴露对象不太可能是你想要的。通常,您会在内部使用主题,并将其作为IObservable公开。您可能会这样做的一个例子是。我在ViewModel类内部使用AsyncSubject作为某种完成标志作为快速修复,我想说它们看起来比使用Observable干净得多。相反,创建。我也是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);
}
}
类编号监视器
{
主题_source=新主题();
public IObservable NumberStream{get{return\u source.asobbservable;}}
void OnSomeEvent(对象发送方,事件参数e)
{
_资料来源.OnNext(1);
}
}
是的-主题是最直观的观察对象,它只是一个你像上面那样手动发出信号的对象