<PackageReference Include="System.Reactive" Version="4.2.0-preview.102" />

SubjectBase<T>

public abstract class SubjectBase<T> : ISubject<T>, ISubject<T, T>, IObserver<T>, IObservable<T>, IDisposable
Base class for objects that are both an observable sequence as well as an observer.
namespace System.Reactive.Subjects { public abstract class SubjectBase<T> : ISubject<T>, ISubject<T, T>, IObserver<T>, IObservable<T>, IDisposable { public abstract bool HasObservers { get; } public abstract bool IsDisposed { get; } public abstract void Dispose(); public abstract void OnCompleted(); public abstract void OnError(Exception error); public abstract void OnNext(T value); public abstract IDisposable Subscribe(IObserver<T> observer); } }