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

ActivePlan

abstract class ActivePlan
using System.Collections.Generic; namespace System.Reactive.Joins { 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(); } } } }