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

Plan<T1, T2, T3, T4, T5, T6, T7, T8, TResult>

sealed class Plan<T1, T2, T3, T4, T5, T6, T7, T8, TResult> : Plan<TResult>
using System.Collections.Generic; using System.Runtime.CompilerServices; namespace System.Reactive.Joins { [System.Runtime.CompilerServices.NullableContext(2)] [System.Runtime.CompilerServices.Nullable(new byte[] { 0, 1 })] internal sealed class Plan<T1, T2, T3, T4, T5, T6, T7, T8, TResult> : Plan<TResult> { [System.Runtime.CompilerServices.Nullable(1)] [field: System.Runtime.CompilerServices.Nullable(1)] internal Pattern<T1, T2, T3, T4, T5, T6, T7, T8> Expression { [System.Runtime.CompilerServices.NullableContext(1)] get; } [System.Runtime.CompilerServices.Nullable(1)] [field: System.Runtime.CompilerServices.Nullable(1)] internal Func<T1, T2, T3, T4, T5, T6, T7, T8, TResult> Selector { [System.Runtime.CompilerServices.NullableContext(1)] get; } [System.Runtime.CompilerServices.NullableContext(1)] internal Plan(Pattern<T1, T2, T3, T4, T5, T6, T7, T8> expression, Func<T1, T2, T3, T4, T5, T6, T7, T8, TResult> selector) { Expression = expression; Selector = selector; } [System.Runtime.CompilerServices.NullableContext(1)] internal override ActivePlan Activate(Dictionary<object, IJoinObserver> externalSubscriptions, IObserver<TResult> observer, Action<ActivePlan> deactivate) { IObserver<TResult> observer2 = observer; Action<Exception> onError = observer2.OnError; JoinObserver<T1> firstJoinObserver = Plan<TResult>.CreateObserver(externalSubscriptions, Expression.First, onError); JoinObserver<T2> secondJoinObserver = Plan<TResult>.CreateObserver(externalSubscriptions, Expression.Second, onError); JoinObserver<T3> thirdJoinObserver = Plan<TResult>.CreateObserver(externalSubscriptions, Expression.Third, onError); JoinObserver<T4> fourthJoinObserver = Plan<TResult>.CreateObserver(externalSubscriptions, Expression.Fourth, onError); JoinObserver<T5> fifthJoinObserver = Plan<TResult>.CreateObserver(externalSubscriptions, Expression.Fifth, onError); JoinObserver<T6> sixthJoinObserver = Plan<TResult>.CreateObserver(externalSubscriptions, Expression.Sixth, onError); JoinObserver<T7> seventhJoinObserver = Plan<TResult>.CreateObserver(externalSubscriptions, Expression.Seventh, onError); JoinObserver<T8> eighthJoinObserver = Plan<TResult>.CreateObserver(externalSubscriptions, Expression.Eighth, onError); ActivePlan<T1, T2, T3, T4, T5, T6, T7, T8> activePlan = null; activePlan = new ActivePlan<T1, T2, T3, T4, T5, T6, T7, T8>(firstJoinObserver, secondJoinObserver, thirdJoinObserver, fourthJoinObserver, fifthJoinObserver, sixthJoinObserver, seventhJoinObserver, eighthJoinObserver, delegate(T1 first, T2 second, T3 third, T4 fourth, T5 fifth, T6 sixth, T7 seventh, T8 eighth) { TResult value; try { value = Selector(first, second, third, fourth, fifth, sixth, seventh, eighth); } catch (Exception error) { observer.OnError(error); return; } observer.OnNext(value); }, delegate { firstJoinObserver.RemoveActivePlan(activePlan); secondJoinObserver.RemoveActivePlan(activePlan); thirdJoinObserver.RemoveActivePlan(activePlan); fourthJoinObserver.RemoveActivePlan(activePlan); fifthJoinObserver.RemoveActivePlan(activePlan); sixthJoinObserver.RemoveActivePlan(activePlan); seventhJoinObserver.RemoveActivePlan(activePlan); eighthJoinObserver.RemoveActivePlan(activePlan); deactivate(activePlan); }); firstJoinObserver.AddActivePlan(activePlan); secondJoinObserver.AddActivePlan(activePlan); thirdJoinObserver.AddActivePlan(activePlan); fourthJoinObserver.AddActivePlan(activePlan); fifthJoinObserver.AddActivePlan(activePlan); sixthJoinObserver.AddActivePlan(activePlan); seventhJoinObserver.AddActivePlan(activePlan); eighthJoinObserver.AddActivePlan(activePlan); return activePlan; } } }