嗨Subject<T>,如果您手动调用其Dispose方法,我一直在考虑基于它处理所有订阅.但是我最近发现它不起作用,只是清除它的内部观察者集合并用DisposedObserver帮助器类实例替换它.
我发现自己对行为有点困惑,只是假设"正常"只会传播并处置所有的嫌疑人.后来,试图找出为什么这样设计,我猜想他们设计这种方式的原因有两个.
Subject.Dispose它在语义上等同于Observable.Never观察者一侧的延续.如果想要在处理之前发出错误或完成信号,则Subject.Dispose调用者也可以调用OnComplete或OnError(因为它们在同一范围内).编辑注意:对不明问题抱歉.我已经明白了如何使用它,这更像是一个设计问题.让我更清楚地说明一下.
为什么你认为Rx的设计者以这种方式制作Dispose行为?
(以上两点是我的回答试验)