public void Dispose() { _subject.Unsubscribe(this); lock (_locker) { Observer = null; _subject = null; } }
public ReplaySubject(int bufferSize) { if (bufferSize <= 0) { throw new ArgumentException("Buffer size cannot be equal to or less than 0"); } _subject = new Subject <T>(); (_replay, _add, _trim) = bufferSize switch { 1 => CreateReplayOnce(), int.MaxValue => CreateReplayAll(), _ => CreateReplayMany(bufferSize) }; }
public Subscription(SubjectBase <T> subject, IObserver <T> observer) { _subject = subject; Observer = observer; }
public BehaviorSubject(T initialValue) { _value = initialValue; _subject = new Subject <T>(); }