AnonymousObservable<T>
Class to create an IObservable<T> instance from a delegate-based implementation of the Subscribe method.
using System.Reactive.Disposables;
using System.Runtime.CompilerServices;
namespace System.Reactive
{
[System.Runtime.CompilerServices.NullableContext(1)]
[System.Runtime.CompilerServices.Nullable(new byte[] {
0,
1
})]
public sealed class AnonymousObservable<[System.Runtime.CompilerServices.Nullable(2)] T> : ObservableBase<T>
{
private readonly Func<IObserver<T>, IDisposable> _subscribe;
public AnonymousObservable(Func<IObserver<T>, IDisposable> subscribe)
{
if (subscribe == null)
throw new ArgumentNullException("subscribe");
_subscribe = subscribe;
}
protected override IDisposable SubscribeCore(IObserver<T> observer)
{
return _subscribe(observer) ?? Disposable.Empty;
}
}
}