<PackageReference Include="System.Reactive" Version="7.0.0-preview.1" />

CombineLatestObserver<T>

sealed class CombineLatestObserver<T> : SafeObserver<T>
using System.Runtime.CompilerServices; namespace System.Reactive.Linq.ObservableImpl { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(new byte[] { 0, 1 })] internal sealed class CombineLatestObserver<[System.Runtime.CompilerServices.Nullable(2)] T> : System.Reactive.SafeObserver<T> { private readonly object _gate; private readonly System.Reactive.Linq.ObservableImpl.ICombineLatest _parent; private readonly int _index; [System.Runtime.CompilerServices.Nullable(2)] private T _value; [System.Runtime.CompilerServices.Nullable(2)] public T Value { [System.Runtime.CompilerServices.NullableContext(2)] get { return _value; } } public CombineLatestObserver(object gate, System.Reactive.Linq.ObservableImpl.ICombineLatest parent, int index) { _gate = gate; _parent = parent; _index = index; } public override void OnNext(T value) { lock (_gate) { _value = value; _parent.Next(_index); } } public override void OnError(Exception error) { Dispose(); lock (_gate) { _parent.Fail(error); } } public override void OnCompleted() { Dispose(); lock (_gate) { _parent.Done(_index); } } } }