public void Dispose() { var observer = Interlocked.Exchange(ref _observer, null); if (observer == null) { return; } _subject.Unsubscribe(observer); _subject = null; }
public Subscription(IUnsubscribableSubject subject, IObserver <T> observer) { _subject = subject; _observer = observer; }