2
System.Reactive.Subjects.Subject<T>
和System.Reactive.Subjects.ReplaySubject<T>
類有什麼區別?主題<T>和ReplaySubject <T>之間的主要區別是什麼?
一個不會從另一個派生,但它們具有相同的描述並在MSDN中實現相同的接口。
System.Reactive.Subjects.Subject<T>
和System.Reactive.Subjects.ReplaySubject<T>
類有什麼區別?主題<T>和ReplaySubject <T>之間的主要區別是什麼?
一個不會從另一個派生,但它們具有相同的描述並在MSDN中實現相同的接口。
把這個代碼:
var subject = new Subject<int>();
subject.OnNext(42);
subject.OnCompleted();
subject.Subscribe(x => Console.WriteLine(x));
,並比較這一點:
var subject = new ReplaySubject<int>();
subject.OnNext(42);
subject.OnCompleted();
subject.Subscribe(x => Console.WriteLine(x));
第一不產生價值。第二個產生42
。
基本上Subject
只會爲當前訂戶生成值,而ReplaySubject
會記住未來訂閱的值(當它「重新播放」值時)。
閱讀https://msdn.microsoft.com/zh-CN/library/hh242970(v=vs.103).aspx的底部段落 –