public IAsyncEnumerator <T> GetAsyncEnumerator() { var consumer = new FromObservableEnumerator(); var d = _source.Subscribe(consumer); consumer.Upstream = d; return(consumer); }
public IAsyncEnumerator <T> GetAsyncEnumerator(CancellationToken cancellationToken) { var consumer = new FromObservableEnumerator(); var d = _source.Subscribe(consumer); consumer.Upstream = d; consumer.CtReg = cancellationToken.Register(disposable => (disposable as IDisposable)?.Dispose(), d); return(consumer); }