<PackageReference Include="System.Reactive" Version="6.0.2" />

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> : SafeObserver<T> { private readonly object _gate; private readonly 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, 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); } } } }