Producer<TTarget, TSink> abstract class Producer<TTarget, TSink> : IProducer<TTarget>, IObservable<TTarget> where TSink : IDisposable Documentation Code protected Producer() protected abstract TSink CreateSink(IObserver<TTarget> observer) protected abstract void Run(TSink sink) Core implementation of the query operator, called upon a new subscription to the producer object. public IDisposable Subscribe(IObserver<TTarget> observer) Publicly visible Subscribe method. public IDisposable SubscribeRaw(IObserver<TTarget> observer, bool enableSafeguard)