Subject在Rx中的实际用途是什么。我在101个样本中找到了一个样本,但我认为这并不能让我清楚地知道该将其应用于何处。请任何人张贴一些简单的例子,演示了主题的工作在处方。我在windows phone的上下文中使用了这个。
发布于 2012-05-15 01:51:11
Subject<T>是Rx的List<T> -它只是一个可以手动发送信号的IObservable:
var subj = new Subject<int>();
subj.Subscribe(Console.WriteLine);
subj.OnNext(4);
subj.OnNext(5);
subj.OnCompleted();
>>> 4
>>> 5它对于“包装”使用非Rx模式的异步方法非常有用,比如回调或APM。查看this example from my book。
发布于 2012-07-06 21:58:51
当前的指导方针是,您应该避免在代码库中使用主题。这就是我的观点,最近我让Bart De Smet (Rx的作者)口头上同意我的观点。
大多数时候我看到主题的用法,它可以被Observable.Create(IObserver)或其他工厂,如FromEventPattern,Timer,FromAPM等所取代。
请看我关于这个问题的博客文章:
http://www.introtorx.com/Content/v1.0.10621.0/02_KeyTypes.html
http://www.introtorx.com/Content/v1.0.10621.0/04_CreatingObservableSequences.html#CreationOfObservables
http://www.introtorx.com/Content/v1.0.10621.0/18_UsageGuidelines.html
本指南有两个很好的例外:
https://stackoverflow.com/questions/10581544
复制相似问题