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

ActivePlan

abstract class ActivePlan
using System.Collections.Generic; using System.Runtime.CompilerServices; namespace System.Reactive.Joins { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] internal abstract class ActivePlan { private readonly Dictionary<IJoinObserver, IJoinObserver> _joinObservers = new Dictionary<IJoinObserver, IJoinObserver>(); protected readonly Action _onCompleted; internal abstract void Match(); protected ActivePlan(Action onCompleted) { _onCompleted = onCompleted; } protected void AddJoinObserver(IJoinObserver joinObserver) { if (!_joinObservers.ContainsKey(joinObserver)) _joinObservers.Add(joinObserver, joinObserver); } protected void Dequeue() { foreach (IJoinObserver value in _joinObservers.Values) { value.Dequeue(); } } } }