// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT License. // See the LICENSE file in the project root for more information. using System.Reactive.Disposables; namespace System.Reactive.Linq.ObservableImpl { #region [3,16]-ary /* The following code is generated by a T4 template. */ #region CombineLatest auto-generated code (10/2/2020 12:15:44 PM) internal sealed class CombineLatest : Producer._> { private readonly IObservable _source1; private readonly IObservable _source2; private readonly IObservable _source3; private readonly Func _resultSelector; public CombineLatest(IObservable source1, IObservable source2, IObservable source3, Func resultSelector) { _source1 = source1; _source2 = source2; _source3 = source3; _resultSelector = resultSelector; } protected override _ CreateSink(IObserver observer) => new(_resultSelector, observer); protected override void Run(_ sink) => sink.Run(_source1, _source2, _source3); internal sealed class _ : CombineLatestSink { private readonly Func _resultSelector; private readonly CombineLatestObserver _observer1; private readonly CombineLatestObserver _observer2; private readonly CombineLatestObserver _observer3; public _(Func resultSelector, IObserver observer) : base(3, observer) { _resultSelector = resultSelector; _observer1 = new CombineLatestObserver(_gate, this, 0); _observer2 = new CombineLatestObserver(_gate, this, 1); _observer3 = new CombineLatestObserver(_gate, this, 2); } public void Run(IObservable source1, IObservable source2, IObservable source3) { var subscriptions = new IDisposable[3]; subscriptions[0] = _observer1; subscriptions[1] = _observer2; subscriptions[2] = _observer3; _observer1.SetResource(source1.SubscribeSafe(_observer1)); _observer2.SetResource(source2.SubscribeSafe(_observer2)); _observer3.SetResource(source3.SubscribeSafe(_observer3)); SetUpstream(StableCompositeDisposable.CreateTrusted(subscriptions)); } protected override TResult GetResult() => _resultSelector(_observer1.Value!, _observer2.Value!, _observer3.Value!); } } internal sealed class CombineLatest : Producer._> { private readonly IObservable _source1; private readonly IObservable _source2; private readonly IObservable _source3; private readonly IObservable _source4; private readonly Func _resultSelector; public CombineLatest(IObservable source1, IObservable source2, IObservable source3, IObservable source4, Func resultSelector) { _source1 = source1; _source2 = source2; _source3 = source3; _source4 = source4; _resultSelector = resultSelector; } protected override _ CreateSink(IObserver observer) => new(_resultSelector, observer); protected override void Run(_ sink) => sink.Run(_source1, _source2, _source3, _source4); internal sealed class _ : CombineLatestSink { private readonly Func _resultSelector; private readonly CombineLatestObserver _observer1; private readonly CombineLatestObserver _observer2; private readonly CombineLatestObserver _observer3; private readonly CombineLatestObserver _observer4; public _(Func resultSelector, IObserver observer) : base(4, observer) { _resultSelector = resultSelector; _observer1 = new CombineLatestObserver(_gate, this, 0); _observer2 = new CombineLatestObserver(_gate, this, 1); _observer3 = new CombineLatestObserver(_gate, this, 2); _observer4 = new CombineLatestObserver(_gate, this, 3); } public void Run(IObservable source1, IObservable source2, IObservable source3, IObservable source4) { var subscriptions = new IDisposable[4]; subscriptions[0] = _observer1; subscriptions[1] = _observer2; subscriptions[2] = _observer3; subscriptions[3] = _observer4; _observer1.SetResource(source1.SubscribeSafe(_observer1)); _observer2.SetResource(source2.SubscribeSafe(_observer2)); _observer3.SetResource(source3.SubscribeSafe(_observer3)); _observer4.SetResource(source4.SubscribeSafe(_observer4)); SetUpstream(StableCompositeDisposable.CreateTrusted(subscriptions)); } protected override TResult GetResult() => _resultSelector(_observer1.Value!, _observer2.Value!, _observer3.Value!, _observer4.Value!); } } internal sealed class CombineLatest : Producer._> { private readonly IObservable _source1; private readonly IObservable _source2; private readonly IObservable _source3; private readonly IObservable _source4; private readonly IObservable _source5; private readonly Func _resultSelector; public CombineLatest(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, Func resultSelector) { _source1 = source1; _source2 = source2; _source3 = source3; _source4 = source4; _source5 = source5; _resultSelector = resultSelector; } protected override _ CreateSink(IObserver observer) => new(_resultSelector, observer); protected override void Run(_ sink) => sink.Run(_source1, _source2, _source3, _source4, _source5); internal sealed class _ : CombineLatestSink { private readonly Func _resultSelector; private readonly CombineLatestObserver _observer1; private readonly CombineLatestObserver _observer2; private readonly CombineLatestObserver _observer3; private readonly CombineLatestObserver _observer4; private readonly CombineLatestObserver _observer5; public _(Func resultSelector, IObserver observer) : base(5, observer) { _resultSelector = resultSelector; _observer1 = new CombineLatestObserver(_gate, this, 0); _observer2 = new CombineLatestObserver(_gate, this, 1); _observer3 = new CombineLatestObserver(_gate, this, 2); _observer4 = new CombineLatestObserver(_gate, this, 3); _observer5 = new CombineLatestObserver(_gate, this, 4); } public void Run(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5) { var subscriptions = new IDisposable[5]; subscriptions[0] = _observer1; subscriptions[1] = _observer2; subscriptions[2] = _observer3; subscriptions[3] = _observer4; subscriptions[4] = _observer5; _observer1.SetResource(source1.SubscribeSafe(_observer1)); _observer2.SetResource(source2.SubscribeSafe(_observer2)); _observer3.SetResource(source3.SubscribeSafe(_observer3)); _observer4.SetResource(source4.SubscribeSafe(_observer4)); _observer5.SetResource(source5.SubscribeSafe(_observer5)); SetUpstream(StableCompositeDisposable.CreateTrusted(subscriptions)); } protected override TResult GetResult() => _resultSelector(_observer1.Value!, _observer2.Value!, _observer3.Value!, _observer4.Value!, _observer5.Value!); } } internal sealed class CombineLatest : Producer._> { private readonly IObservable _source1; private readonly IObservable _source2; private readonly IObservable _source3; private readonly IObservable _source4; private readonly IObservable _source5; private readonly IObservable _source6; private readonly Func _resultSelector; public CombineLatest(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, Func resultSelector) { _source1 = source1; _source2 = source2; _source3 = source3; _source4 = source4; _source5 = source5; _source6 = source6; _resultSelector = resultSelector; } protected override _ CreateSink(IObserver observer) => new(_resultSelector, observer); protected override void Run(_ sink) => sink.Run(_source1, _source2, _source3, _source4, _source5, _source6); internal sealed class _ : CombineLatestSink { private readonly Func _resultSelector; private readonly CombineLatestObserver _observer1; private readonly CombineLatestObserver _observer2; private readonly CombineLatestObserver _observer3; private readonly CombineLatestObserver _observer4; private readonly CombineLatestObserver _observer5; private readonly CombineLatestObserver _observer6; public _(Func resultSelector, IObserver observer) : base(6, observer) { _resultSelector = resultSelector; _observer1 = new CombineLatestObserver(_gate, this, 0); _observer2 = new CombineLatestObserver(_gate, this, 1); _observer3 = new CombineLatestObserver(_gate, this, 2); _observer4 = new CombineLatestObserver(_gate, this, 3); _observer5 = new CombineLatestObserver(_gate, this, 4); _observer6 = new CombineLatestObserver(_gate, this, 5); } public void Run(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6) { var subscriptions = new IDisposable[6]; subscriptions[0] = _observer1; subscriptions[1] = _observer2; subscriptions[2] = _observer3; subscriptions[3] = _observer4; subscriptions[4] = _observer5; subscriptions[5] = _observer6; _observer1.SetResource(source1.SubscribeSafe(_observer1)); _observer2.SetResource(source2.SubscribeSafe(_observer2)); _observer3.SetResource(source3.SubscribeSafe(_observer3)); _observer4.SetResource(source4.SubscribeSafe(_observer4)); _observer5.SetResource(source5.SubscribeSafe(_observer5)); _observer6.SetResource(source6.SubscribeSafe(_observer6)); SetUpstream(StableCompositeDisposable.CreateTrusted(subscriptions)); } protected override TResult GetResult() => _resultSelector(_observer1.Value!, _observer2.Value!, _observer3.Value!, _observer4.Value!, _observer5.Value!, _observer6.Value!); } } internal sealed class CombineLatest : Producer._> { private readonly IObservable _source1; private readonly IObservable _source2; private readonly IObservable _source3; private readonly IObservable _source4; private readonly IObservable _source5; private readonly IObservable _source6; private readonly IObservable _source7; private readonly Func _resultSelector; public CombineLatest(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, Func resultSelector) { _source1 = source1; _source2 = source2; _source3 = source3; _source4 = source4; _source5 = source5; _source6 = source6; _source7 = source7; _resultSelector = resultSelector; } protected override _ CreateSink(IObserver observer) => new(_resultSelector, observer); protected override void Run(_ sink) => sink.Run(_source1, _source2, _source3, _source4, _source5, _source6, _source7); internal sealed class _ : CombineLatestSink { private readonly Func _resultSelector; private readonly CombineLatestObserver _observer1; private readonly CombineLatestObserver _observer2; private readonly CombineLatestObserver _observer3; private readonly CombineLatestObserver _observer4; private readonly CombineLatestObserver _observer5; private readonly CombineLatestObserver _observer6; private readonly CombineLatestObserver _observer7; public _(Func resultSelector, IObserver observer) : base(7, observer) { _resultSelector = resultSelector; _observer1 = new CombineLatestObserver(_gate, this, 0); _observer2 = new CombineLatestObserver(_gate, this, 1); _observer3 = new CombineLatestObserver(_gate, this, 2); _observer4 = new CombineLatestObserver(_gate, this, 3); _observer5 = new CombineLatestObserver(_gate, this, 4); _observer6 = new CombineLatestObserver(_gate, this, 5); _observer7 = new CombineLatestObserver(_gate, this, 6); } public void Run(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7) { var subscriptions = new IDisposable[7]; subscriptions[0] = _observer1; subscriptions[1] = _observer2; subscriptions[2] = _observer3; subscriptions[3] = _observer4; subscriptions[4] = _observer5; subscriptions[5] = _observer6; subscriptions[6] = _observer7; _observer1.SetResource(source1.SubscribeSafe(_observer1)); _observer2.SetResource(source2.SubscribeSafe(_observer2)); _observer3.SetResource(source3.SubscribeSafe(_observer3)); _observer4.SetResource(source4.SubscribeSafe(_observer4)); _observer5.SetResource(source5.SubscribeSafe(_observer5)); _observer6.SetResource(source6.SubscribeSafe(_observer6)); _observer7.SetResource(source7.SubscribeSafe(_observer7)); SetUpstream(StableCompositeDisposable.CreateTrusted(subscriptions)); } protected override TResult GetResult() => _resultSelector(_observer1.Value!, _observer2.Value!, _observer3.Value!, _observer4.Value!, _observer5.Value!, _observer6.Value!, _observer7.Value!); } } internal sealed class CombineLatest : Producer._> { private readonly IObservable _source1; private readonly IObservable _source2; private readonly IObservable _source3; private readonly IObservable _source4; private readonly IObservable _source5; private readonly IObservable _source6; private readonly IObservable _source7; private readonly IObservable _source8; private readonly Func _resultSelector; public CombineLatest(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, Func resultSelector) { _source1 = source1; _source2 = source2; _source3 = source3; _source4 = source4; _source5 = source5; _source6 = source6; _source7 = source7; _source8 = source8; _resultSelector = resultSelector; } protected override _ CreateSink(IObserver observer) => new(_resultSelector, observer); protected override void Run(_ sink) => sink.Run(_source1, _source2, _source3, _source4, _source5, _source6, _source7, _source8); internal sealed class _ : CombineLatestSink { private readonly Func _resultSelector; private readonly CombineLatestObserver _observer1; private readonly CombineLatestObserver _observer2; private readonly CombineLatestObserver _observer3; private readonly CombineLatestObserver _observer4; private readonly CombineLatestObserver _observer5; private readonly CombineLatestObserver _observer6; private readonly CombineLatestObserver _observer7; private readonly CombineLatestObserver _observer8; public _(Func resultSelector, IObserver observer) : base(8, observer) { _resultSelector = resultSelector; _observer1 = new CombineLatestObserver(_gate, this, 0); _observer2 = new CombineLatestObserver(_gate, this, 1); _observer3 = new CombineLatestObserver(_gate, this, 2); _observer4 = new CombineLatestObserver(_gate, this, 3); _observer5 = new CombineLatestObserver(_gate, this, 4); _observer6 = new CombineLatestObserver(_gate, this, 5); _observer7 = new CombineLatestObserver(_gate, this, 6); _observer8 = new CombineLatestObserver(_gate, this, 7); } public void Run(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8) { var subscriptions = new IDisposable[8]; subscriptions[0] = _observer1; subscriptions[1] = _observer2; subscriptions[2] = _observer3; subscriptions[3] = _observer4; subscriptions[4] = _observer5; subscriptions[5] = _observer6; subscriptions[6] = _observer7; subscriptions[7] = _observer8; _observer1.SetResource(source1.SubscribeSafe(_observer1)); _observer2.SetResource(source2.SubscribeSafe(_observer2)); _observer3.SetResource(source3.SubscribeSafe(_observer3)); _observer4.SetResource(source4.SubscribeSafe(_observer4)); _observer5.SetResource(source5.SubscribeSafe(_observer5)); _observer6.SetResource(source6.SubscribeSafe(_observer6)); _observer7.SetResource(source7.SubscribeSafe(_observer7)); _observer8.SetResource(source8.SubscribeSafe(_observer8)); SetUpstream(StableCompositeDisposable.CreateTrusted(subscriptions)); } protected override TResult GetResult() => _resultSelector(_observer1.Value!, _observer2.Value!, _observer3.Value!, _observer4.Value!, _observer5.Value!, _observer6.Value!, _observer7.Value!, _observer8.Value!); } } internal sealed class CombineLatest : Producer._> { private readonly IObservable _source1; private readonly IObservable _source2; private readonly IObservable _source3; private readonly IObservable _source4; private readonly IObservable _source5; private readonly IObservable _source6; private readonly IObservable _source7; private readonly IObservable _source8; private readonly IObservable _source9; private readonly Func _resultSelector; public CombineLatest(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, Func resultSelector) { _source1 = source1; _source2 = source2; _source3 = source3; _source4 = source4; _source5 = source5; _source6 = source6; _source7 = source7; _source8 = source8; _source9 = source9; _resultSelector = resultSelector; } protected override _ CreateSink(IObserver observer) => new(_resultSelector, observer); protected override void Run(_ sink) => sink.Run(_source1, _source2, _source3, _source4, _source5, _source6, _source7, _source8, _source9); internal sealed class _ : CombineLatestSink { private readonly Func _resultSelector; private readonly CombineLatestObserver _observer1; private readonly CombineLatestObserver _observer2; private readonly CombineLatestObserver _observer3; private readonly CombineLatestObserver _observer4; private readonly CombineLatestObserver _observer5; private readonly CombineLatestObserver _observer6; private readonly CombineLatestObserver _observer7; private readonly CombineLatestObserver _observer8; private readonly CombineLatestObserver _observer9; public _(Func resultSelector, IObserver observer) : base(9, observer) { _resultSelector = resultSelector; _observer1 = new CombineLatestObserver(_gate, this, 0); _observer2 = new CombineLatestObserver(_gate, this, 1); _observer3 = new CombineLatestObserver(_gate, this, 2); _observer4 = new CombineLatestObserver(_gate, this, 3); _observer5 = new CombineLatestObserver(_gate, this, 4); _observer6 = new CombineLatestObserver(_gate, this, 5); _observer7 = new CombineLatestObserver(_gate, this, 6); _observer8 = new CombineLatestObserver(_gate, this, 7); _observer9 = new CombineLatestObserver(_gate, this, 8); } public void Run(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9) { var subscriptions = new IDisposable[9]; subscriptions[0] = _observer1; subscriptions[1] = _observer2; subscriptions[2] = _observer3; subscriptions[3] = _observer4; subscriptions[4] = _observer5; subscriptions[5] = _observer6; subscriptions[6] = _observer7; subscriptions[7] = _observer8; subscriptions[8] = _observer9; _observer1.SetResource(source1.SubscribeSafe(_observer1)); _observer2.SetResource(source2.SubscribeSafe(_observer2)); _observer3.SetResource(source3.SubscribeSafe(_observer3)); _observer4.SetResource(source4.SubscribeSafe(_observer4)); _observer5.SetResource(source5.SubscribeSafe(_observer5)); _observer6.SetResource(source6.SubscribeSafe(_observer6)); _observer7.SetResource(source7.SubscribeSafe(_observer7)); _observer8.SetResource(source8.SubscribeSafe(_observer8)); _observer9.SetResource(source9.SubscribeSafe(_observer9)); SetUpstream(StableCompositeDisposable.CreateTrusted(subscriptions)); } protected override TResult GetResult() => _resultSelector(_observer1.Value!, _observer2.Value!, _observer3.Value!, _observer4.Value!, _observer5.Value!, _observer6.Value!, _observer7.Value!, _observer8.Value!, _observer9.Value!); } } internal sealed class CombineLatest : Producer._> { private readonly IObservable _source1; private readonly IObservable _source2; private readonly IObservable _source3; private readonly IObservable _source4; private readonly IObservable _source5; private readonly IObservable _source6; private readonly IObservable _source7; private readonly IObservable _source8; private readonly IObservable _source9; private readonly IObservable _source10; private readonly Func _resultSelector; public CombineLatest(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, Func resultSelector) { _source1 = source1; _source2 = source2; _source3 = source3; _source4 = source4; _source5 = source5; _source6 = source6; _source7 = source7; _source8 = source8; _source9 = source9; _source10 = source10; _resultSelector = resultSelector; } protected override _ CreateSink(IObserver observer) => new(_resultSelector, observer); protected override void Run(_ sink) => sink.Run(_source1, _source2, _source3, _source4, _source5, _source6, _source7, _source8, _source9, _source10); internal sealed class _ : CombineLatestSink { private readonly Func _resultSelector; private readonly CombineLatestObserver _observer1; private readonly CombineLatestObserver _observer2; private readonly CombineLatestObserver _observer3; private readonly CombineLatestObserver _observer4; private readonly CombineLatestObserver _observer5; private readonly CombineLatestObserver _observer6; private readonly CombineLatestObserver _observer7; private readonly CombineLatestObserver _observer8; private readonly CombineLatestObserver _observer9; private readonly CombineLatestObserver _observer10; public _(Func resultSelector, IObserver observer) : base(10, observer) { _resultSelector = resultSelector; _observer1 = new CombineLatestObserver(_gate, this, 0); _observer2 = new CombineLatestObserver(_gate, this, 1); _observer3 = new CombineLatestObserver(_gate, this, 2); _observer4 = new CombineLatestObserver(_gate, this, 3); _observer5 = new CombineLatestObserver(_gate, this, 4); _observer6 = new CombineLatestObserver(_gate, this, 5); _observer7 = new CombineLatestObserver(_gate, this, 6); _observer8 = new CombineLatestObserver(_gate, this, 7); _observer9 = new CombineLatestObserver(_gate, this, 8); _observer10 = new CombineLatestObserver(_gate, this, 9); } public void Run(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10) { var subscriptions = new IDisposable[10]; subscriptions[0] = _observer1; subscriptions[1] = _observer2; subscriptions[2] = _observer3; subscriptions[3] = _observer4; subscriptions[4] = _observer5; subscriptions[5] = _observer6; subscriptions[6] = _observer7; subscriptions[7] = _observer8; subscriptions[8] = _observer9; subscriptions[9] = _observer10; _observer1.SetResource(source1.SubscribeSafe(_observer1)); _observer2.SetResource(source2.SubscribeSafe(_observer2)); _observer3.SetResource(source3.SubscribeSafe(_observer3)); _observer4.SetResource(source4.SubscribeSafe(_observer4)); _observer5.SetResource(source5.SubscribeSafe(_observer5)); _observer6.SetResource(source6.SubscribeSafe(_observer6)); _observer7.SetResource(source7.SubscribeSafe(_observer7)); _observer8.SetResource(source8.SubscribeSafe(_observer8)); _observer9.SetResource(source9.SubscribeSafe(_observer9)); _observer10.SetResource(source10.SubscribeSafe(_observer10)); SetUpstream(StableCompositeDisposable.CreateTrusted(subscriptions)); } protected override TResult GetResult() => _resultSelector(_observer1.Value!, _observer2.Value!, _observer3.Value!, _observer4.Value!, _observer5.Value!, _observer6.Value!, _observer7.Value!, _observer8.Value!, _observer9.Value!, _observer10.Value!); } } internal sealed class CombineLatest : Producer._> { private readonly IObservable _source1; private readonly IObservable _source2; private readonly IObservable _source3; private readonly IObservable _source4; private readonly IObservable _source5; private readonly IObservable _source6; private readonly IObservable _source7; private readonly IObservable _source8; private readonly IObservable _source9; private readonly IObservable _source10; private readonly IObservable _source11; private readonly Func _resultSelector; public CombineLatest(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, Func resultSelector) { _source1 = source1; _source2 = source2; _source3 = source3; _source4 = source4; _source5 = source5; _source6 = source6; _source7 = source7; _source8 = source8; _source9 = source9; _source10 = source10; _source11 = source11; _resultSelector = resultSelector; } protected override _ CreateSink(IObserver observer) => new(_resultSelector, observer); protected override void Run(_ sink) => sink.Run(_source1, _source2, _source3, _source4, _source5, _source6, _source7, _source8, _source9, _source10, _source11); internal sealed class _ : CombineLatestSink { private readonly Func _resultSelector; private readonly CombineLatestObserver _observer1; private readonly CombineLatestObserver _observer2; private readonly CombineLatestObserver _observer3; private readonly CombineLatestObserver _observer4; private readonly CombineLatestObserver _observer5; private readonly CombineLatestObserver _observer6; private readonly CombineLatestObserver _observer7; private readonly CombineLatestObserver _observer8; private readonly CombineLatestObserver _observer9; private readonly CombineLatestObserver _observer10; private readonly CombineLatestObserver _observer11; public _(Func resultSelector, IObserver observer) : base(11, observer) { _resultSelector = resultSelector; _observer1 = new CombineLatestObserver(_gate, this, 0); _observer2 = new CombineLatestObserver(_gate, this, 1); _observer3 = new CombineLatestObserver(_gate, this, 2); _observer4 = new CombineLatestObserver(_gate, this, 3); _observer5 = new CombineLatestObserver(_gate, this, 4); _observer6 = new CombineLatestObserver(_gate, this, 5); _observer7 = new CombineLatestObserver(_gate, this, 6); _observer8 = new CombineLatestObserver(_gate, this, 7); _observer9 = new CombineLatestObserver(_gate, this, 8); _observer10 = new CombineLatestObserver(_gate, this, 9); _observer11 = new CombineLatestObserver(_gate, this, 10); } public void Run(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11) { var subscriptions = new IDisposable[11]; subscriptions[0] = _observer1; subscriptions[1] = _observer2; subscriptions[2] = _observer3; subscriptions[3] = _observer4; subscriptions[4] = _observer5; subscriptions[5] = _observer6; subscriptions[6] = _observer7; subscriptions[7] = _observer8; subscriptions[8] = _observer9; subscriptions[9] = _observer10; subscriptions[10] = _observer11; _observer1.SetResource(source1.SubscribeSafe(_observer1)); _observer2.SetResource(source2.SubscribeSafe(_observer2)); _observer3.SetResource(source3.SubscribeSafe(_observer3)); _observer4.SetResource(source4.SubscribeSafe(_observer4)); _observer5.SetResource(source5.SubscribeSafe(_observer5)); _observer6.SetResource(source6.SubscribeSafe(_observer6)); _observer7.SetResource(source7.SubscribeSafe(_observer7)); _observer8.SetResource(source8.SubscribeSafe(_observer8)); _observer9.SetResource(source9.SubscribeSafe(_observer9)); _observer10.SetResource(source10.SubscribeSafe(_observer10)); _observer11.SetResource(source11.SubscribeSafe(_observer11)); SetUpstream(StableCompositeDisposable.CreateTrusted(subscriptions)); } protected override TResult GetResult() => _resultSelector(_observer1.Value!, _observer2.Value!, _observer3.Value!, _observer4.Value!, _observer5.Value!, _observer6.Value!, _observer7.Value!, _observer8.Value!, _observer9.Value!, _observer10.Value!, _observer11.Value!); } } internal sealed class CombineLatest : Producer._> { private readonly IObservable _source1; private readonly IObservable _source2; private readonly IObservable _source3; private readonly IObservable _source4; private readonly IObservable _source5; private readonly IObservable _source6; private readonly IObservable _source7; private readonly IObservable _source8; private readonly IObservable _source9; private readonly IObservable _source10; private readonly IObservable _source11; private readonly IObservable _source12; private readonly Func _resultSelector; public CombineLatest(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, IObservable source12, Func resultSelector) { _source1 = source1; _source2 = source2; _source3 = source3; _source4 = source4; _source5 = source5; _source6 = source6; _source7 = source7; _source8 = source8; _source9 = source9; _source10 = source10; _source11 = source11; _source12 = source12; _resultSelector = resultSelector; } protected override _ CreateSink(IObserver observer) => new(_resultSelector, observer); protected override void Run(_ sink) => sink.Run(_source1, _source2, _source3, _source4, _source5, _source6, _source7, _source8, _source9, _source10, _source11, _source12); internal sealed class _ : CombineLatestSink { private readonly Func _resultSelector; private readonly CombineLatestObserver _observer1; private readonly CombineLatestObserver _observer2; private readonly CombineLatestObserver _observer3; private readonly CombineLatestObserver _observer4; private readonly CombineLatestObserver _observer5; private readonly CombineLatestObserver _observer6; private readonly CombineLatestObserver _observer7; private readonly CombineLatestObserver _observer8; private readonly CombineLatestObserver _observer9; private readonly CombineLatestObserver _observer10; private readonly CombineLatestObserver _observer11; private readonly CombineLatestObserver _observer12; public _(Func resultSelector, IObserver observer) : base(12, observer) { _resultSelector = resultSelector; _observer1 = new CombineLatestObserver(_gate, this, 0); _observer2 = new CombineLatestObserver(_gate, this, 1); _observer3 = new CombineLatestObserver(_gate, this, 2); _observer4 = new CombineLatestObserver(_gate, this, 3); _observer5 = new CombineLatestObserver(_gate, this, 4); _observer6 = new CombineLatestObserver(_gate, this, 5); _observer7 = new CombineLatestObserver(_gate, this, 6); _observer8 = new CombineLatestObserver(_gate, this, 7); _observer9 = new CombineLatestObserver(_gate, this, 8); _observer10 = new CombineLatestObserver(_gate, this, 9); _observer11 = new CombineLatestObserver(_gate, this, 10); _observer12 = new CombineLatestObserver(_gate, this, 11); } public void Run(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, IObservable source12) { var subscriptions = new IDisposable[12]; subscriptions[0] = _observer1; subscriptions[1] = _observer2; subscriptions[2] = _observer3; subscriptions[3] = _observer4; subscriptions[4] = _observer5; subscriptions[5] = _observer6; subscriptions[6] = _observer7; subscriptions[7] = _observer8; subscriptions[8] = _observer9; subscriptions[9] = _observer10; subscriptions[10] = _observer11; subscriptions[11] = _observer12; _observer1.SetResource(source1.SubscribeSafe(_observer1)); _observer2.SetResource(source2.SubscribeSafe(_observer2)); _observer3.SetResource(source3.SubscribeSafe(_observer3)); _observer4.SetResource(source4.SubscribeSafe(_observer4)); _observer5.SetResource(source5.SubscribeSafe(_observer5)); _observer6.SetResource(source6.SubscribeSafe(_observer6)); _observer7.SetResource(source7.SubscribeSafe(_observer7)); _observer8.SetResource(source8.SubscribeSafe(_observer8)); _observer9.SetResource(source9.SubscribeSafe(_observer9)); _observer10.SetResource(source10.SubscribeSafe(_observer10)); _observer11.SetResource(source11.SubscribeSafe(_observer11)); _observer12.SetResource(source12.SubscribeSafe(_observer12)); SetUpstream(StableCompositeDisposable.CreateTrusted(subscriptions)); } protected override TResult GetResult() => _resultSelector(_observer1.Value!, _observer2.Value!, _observer3.Value!, _observer4.Value!, _observer5.Value!, _observer6.Value!, _observer7.Value!, _observer8.Value!, _observer9.Value!, _observer10.Value!, _observer11.Value!, _observer12.Value!); } } internal sealed class CombineLatest : Producer._> { private readonly IObservable _source1; private readonly IObservable _source2; private readonly IObservable _source3; private readonly IObservable _source4; private readonly IObservable _source5; private readonly IObservable _source6; private readonly IObservable _source7; private readonly IObservable _source8; private readonly IObservable _source9; private readonly IObservable _source10; private readonly IObservable _source11; private readonly IObservable _source12; private readonly IObservable _source13; private readonly Func _resultSelector; public CombineLatest(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, IObservable source12, IObservable source13, Func resultSelector) { _source1 = source1; _source2 = source2; _source3 = source3; _source4 = source4; _source5 = source5; _source6 = source6; _source7 = source7; _source8 = source8; _source9 = source9; _source10 = source10; _source11 = source11; _source12 = source12; _source13 = source13; _resultSelector = resultSelector; } protected override _ CreateSink(IObserver observer) => new(_resultSelector, observer); protected override void Run(_ sink) => sink.Run(_source1, _source2, _source3, _source4, _source5, _source6, _source7, _source8, _source9, _source10, _source11, _source12, _source13); internal sealed class _ : CombineLatestSink { private readonly Func _resultSelector; private readonly CombineLatestObserver _observer1; private readonly CombineLatestObserver _observer2; private readonly CombineLatestObserver _observer3; private readonly CombineLatestObserver _observer4; private readonly CombineLatestObserver _observer5; private readonly CombineLatestObserver _observer6; private readonly CombineLatestObserver _observer7; private readonly CombineLatestObserver _observer8; private readonly CombineLatestObserver _observer9; private readonly CombineLatestObserver _observer10; private readonly CombineLatestObserver _observer11; private readonly CombineLatestObserver _observer12; private readonly CombineLatestObserver _observer13; public _(Func resultSelector, IObserver observer) : base(13, observer) { _resultSelector = resultSelector; _observer1 = new CombineLatestObserver(_gate, this, 0); _observer2 = new CombineLatestObserver(_gate, this, 1); _observer3 = new CombineLatestObserver(_gate, this, 2); _observer4 = new CombineLatestObserver(_gate, this, 3); _observer5 = new CombineLatestObserver(_gate, this, 4); _observer6 = new CombineLatestObserver(_gate, this, 5); _observer7 = new CombineLatestObserver(_gate, this, 6); _observer8 = new CombineLatestObserver(_gate, this, 7); _observer9 = new CombineLatestObserver(_gate, this, 8); _observer10 = new CombineLatestObserver(_gate, this, 9); _observer11 = new CombineLatestObserver(_gate, this, 10); _observer12 = new CombineLatestObserver(_gate, this, 11); _observer13 = new CombineLatestObserver(_gate, this, 12); } public void Run(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, IObservable source12, IObservable source13) { var subscriptions = new IDisposable[13]; subscriptions[0] = _observer1; subscriptions[1] = _observer2; subscriptions[2] = _observer3; subscriptions[3] = _observer4; subscriptions[4] = _observer5; subscriptions[5] = _observer6; subscriptions[6] = _observer7; subscriptions[7] = _observer8; subscriptions[8] = _observer9; subscriptions[9] = _observer10; subscriptions[10] = _observer11; subscriptions[11] = _observer12; subscriptions[12] = _observer13; _observer1.SetResource(source1.SubscribeSafe(_observer1)); _observer2.SetResource(source2.SubscribeSafe(_observer2)); _observer3.SetResource(source3.SubscribeSafe(_observer3)); _observer4.SetResource(source4.SubscribeSafe(_observer4)); _observer5.SetResource(source5.SubscribeSafe(_observer5)); _observer6.SetResource(source6.SubscribeSafe(_observer6)); _observer7.SetResource(source7.SubscribeSafe(_observer7)); _observer8.SetResource(source8.SubscribeSafe(_observer8)); _observer9.SetResource(source9.SubscribeSafe(_observer9)); _observer10.SetResource(source10.SubscribeSafe(_observer10)); _observer11.SetResource(source11.SubscribeSafe(_observer11)); _observer12.SetResource(source12.SubscribeSafe(_observer12)); _observer13.SetResource(source13.SubscribeSafe(_observer13)); SetUpstream(StableCompositeDisposable.CreateTrusted(subscriptions)); } protected override TResult GetResult() => _resultSelector(_observer1.Value!, _observer2.Value!, _observer3.Value!, _observer4.Value!, _observer5.Value!, _observer6.Value!, _observer7.Value!, _observer8.Value!, _observer9.Value!, _observer10.Value!, _observer11.Value!, _observer12.Value!, _observer13.Value!); } } internal sealed class CombineLatest : Producer._> { private readonly IObservable _source1; private readonly IObservable _source2; private readonly IObservable _source3; private readonly IObservable _source4; private readonly IObservable _source5; private readonly IObservable _source6; private readonly IObservable _source7; private readonly IObservable _source8; private readonly IObservable _source9; private readonly IObservable _source10; private readonly IObservable _source11; private readonly IObservable _source12; private readonly IObservable _source13; private readonly IObservable _source14; private readonly Func _resultSelector; public CombineLatest(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, IObservable source12, IObservable source13, IObservable source14, Func resultSelector) { _source1 = source1; _source2 = source2; _source3 = source3; _source4 = source4; _source5 = source5; _source6 = source6; _source7 = source7; _source8 = source8; _source9 = source9; _source10 = source10; _source11 = source11; _source12 = source12; _source13 = source13; _source14 = source14; _resultSelector = resultSelector; } protected override _ CreateSink(IObserver observer) => new(_resultSelector, observer); protected override void Run(_ sink) => sink.Run(_source1, _source2, _source3, _source4, _source5, _source6, _source7, _source8, _source9, _source10, _source11, _source12, _source13, _source14); internal sealed class _ : CombineLatestSink { private readonly Func _resultSelector; private readonly CombineLatestObserver _observer1; private readonly CombineLatestObserver _observer2; private readonly CombineLatestObserver _observer3; private readonly CombineLatestObserver _observer4; private readonly CombineLatestObserver _observer5; private readonly CombineLatestObserver _observer6; private readonly CombineLatestObserver _observer7; private readonly CombineLatestObserver _observer8; private readonly CombineLatestObserver _observer9; private readonly CombineLatestObserver _observer10; private readonly CombineLatestObserver _observer11; private readonly CombineLatestObserver _observer12; private readonly CombineLatestObserver _observer13; private readonly CombineLatestObserver _observer14; public _(Func resultSelector, IObserver observer) : base(14, observer) { _resultSelector = resultSelector; _observer1 = new CombineLatestObserver(_gate, this, 0); _observer2 = new CombineLatestObserver(_gate, this, 1); _observer3 = new CombineLatestObserver(_gate, this, 2); _observer4 = new CombineLatestObserver(_gate, this, 3); _observer5 = new CombineLatestObserver(_gate, this, 4); _observer6 = new CombineLatestObserver(_gate, this, 5); _observer7 = new CombineLatestObserver(_gate, this, 6); _observer8 = new CombineLatestObserver(_gate, this, 7); _observer9 = new CombineLatestObserver(_gate, this, 8); _observer10 = new CombineLatestObserver(_gate, this, 9); _observer11 = new CombineLatestObserver(_gate, this, 10); _observer12 = new CombineLatestObserver(_gate, this, 11); _observer13 = new CombineLatestObserver(_gate, this, 12); _observer14 = new CombineLatestObserver(_gate, this, 13); } public void Run(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, IObservable source12, IObservable source13, IObservable source14) { var subscriptions = new IDisposable[14]; subscriptions[0] = _observer1; subscriptions[1] = _observer2; subscriptions[2] = _observer3; subscriptions[3] = _observer4; subscriptions[4] = _observer5; subscriptions[5] = _observer6; subscriptions[6] = _observer7; subscriptions[7] = _observer8; subscriptions[8] = _observer9; subscriptions[9] = _observer10; subscriptions[10] = _observer11; subscriptions[11] = _observer12; subscriptions[12] = _observer13; subscriptions[13] = _observer14; _observer1.SetResource(source1.SubscribeSafe(_observer1)); _observer2.SetResource(source2.SubscribeSafe(_observer2)); _observer3.SetResource(source3.SubscribeSafe(_observer3)); _observer4.SetResource(source4.SubscribeSafe(_observer4)); _observer5.SetResource(source5.SubscribeSafe(_observer5)); _observer6.SetResource(source6.SubscribeSafe(_observer6)); _observer7.SetResource(source7.SubscribeSafe(_observer7)); _observer8.SetResource(source8.SubscribeSafe(_observer8)); _observer9.SetResource(source9.SubscribeSafe(_observer9)); _observer10.SetResource(source10.SubscribeSafe(_observer10)); _observer11.SetResource(source11.SubscribeSafe(_observer11)); _observer12.SetResource(source12.SubscribeSafe(_observer12)); _observer13.SetResource(source13.SubscribeSafe(_observer13)); _observer14.SetResource(source14.SubscribeSafe(_observer14)); SetUpstream(StableCompositeDisposable.CreateTrusted(subscriptions)); } protected override TResult GetResult() => _resultSelector(_observer1.Value!, _observer2.Value!, _observer3.Value!, _observer4.Value!, _observer5.Value!, _observer6.Value!, _observer7.Value!, _observer8.Value!, _observer9.Value!, _observer10.Value!, _observer11.Value!, _observer12.Value!, _observer13.Value!, _observer14.Value!); } } internal sealed class CombineLatest : Producer._> { private readonly IObservable _source1; private readonly IObservable _source2; private readonly IObservable _source3; private readonly IObservable _source4; private readonly IObservable _source5; private readonly IObservable _source6; private readonly IObservable _source7; private readonly IObservable _source8; private readonly IObservable _source9; private readonly IObservable _source10; private readonly IObservable _source11; private readonly IObservable _source12; private readonly IObservable _source13; private readonly IObservable _source14; private readonly IObservable _source15; private readonly Func _resultSelector; public CombineLatest(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, IObservable source12, IObservable source13, IObservable source14, IObservable source15, Func resultSelector) { _source1 = source1; _source2 = source2; _source3 = source3; _source4 = source4; _source5 = source5; _source6 = source6; _source7 = source7; _source8 = source8; _source9 = source9; _source10 = source10; _source11 = source11; _source12 = source12; _source13 = source13; _source14 = source14; _source15 = source15; _resultSelector = resultSelector; } protected override _ CreateSink(IObserver observer) => new(_resultSelector, observer); protected override void Run(_ sink) => sink.Run(_source1, _source2, _source3, _source4, _source5, _source6, _source7, _source8, _source9, _source10, _source11, _source12, _source13, _source14, _source15); internal sealed class _ : CombineLatestSink { private readonly Func _resultSelector; private readonly CombineLatestObserver _observer1; private readonly CombineLatestObserver _observer2; private readonly CombineLatestObserver _observer3; private readonly CombineLatestObserver _observer4; private readonly CombineLatestObserver _observer5; private readonly CombineLatestObserver _observer6; private readonly CombineLatestObserver _observer7; private readonly CombineLatestObserver _observer8; private readonly CombineLatestObserver _observer9; private readonly CombineLatestObserver _observer10; private readonly CombineLatestObserver _observer11; private readonly CombineLatestObserver _observer12; private readonly CombineLatestObserver _observer13; private readonly CombineLatestObserver _observer14; private readonly CombineLatestObserver _observer15; public _(Func resultSelector, IObserver observer) : base(15, observer) { _resultSelector = resultSelector; _observer1 = new CombineLatestObserver(_gate, this, 0); _observer2 = new CombineLatestObserver(_gate, this, 1); _observer3 = new CombineLatestObserver(_gate, this, 2); _observer4 = new CombineLatestObserver(_gate, this, 3); _observer5 = new CombineLatestObserver(_gate, this, 4); _observer6 = new CombineLatestObserver(_gate, this, 5); _observer7 = new CombineLatestObserver(_gate, this, 6); _observer8 = new CombineLatestObserver(_gate, this, 7); _observer9 = new CombineLatestObserver(_gate, this, 8); _observer10 = new CombineLatestObserver(_gate, this, 9); _observer11 = new CombineLatestObserver(_gate, this, 10); _observer12 = new CombineLatestObserver(_gate, this, 11); _observer13 = new CombineLatestObserver(_gate, this, 12); _observer14 = new CombineLatestObserver(_gate, this, 13); _observer15 = new CombineLatestObserver(_gate, this, 14); } public void Run(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, IObservable source12, IObservable source13, IObservable source14, IObservable source15) { var subscriptions = new IDisposable[15]; subscriptions[0] = _observer1; subscriptions[1] = _observer2; subscriptions[2] = _observer3; subscriptions[3] = _observer4; subscriptions[4] = _observer5; subscriptions[5] = _observer6; subscriptions[6] = _observer7; subscriptions[7] = _observer8; subscriptions[8] = _observer9; subscriptions[9] = _observer10; subscriptions[10] = _observer11; subscriptions[11] = _observer12; subscriptions[12] = _observer13; subscriptions[13] = _observer14; subscriptions[14] = _observer15; _observer1.SetResource(source1.SubscribeSafe(_observer1)); _observer2.SetResource(source2.SubscribeSafe(_observer2)); _observer3.SetResource(source3.SubscribeSafe(_observer3)); _observer4.SetResource(source4.SubscribeSafe(_observer4)); _observer5.SetResource(source5.SubscribeSafe(_observer5)); _observer6.SetResource(source6.SubscribeSafe(_observer6)); _observer7.SetResource(source7.SubscribeSafe(_observer7)); _observer8.SetResource(source8.SubscribeSafe(_observer8)); _observer9.SetResource(source9.SubscribeSafe(_observer9)); _observer10.SetResource(source10.SubscribeSafe(_observer10)); _observer11.SetResource(source11.SubscribeSafe(_observer11)); _observer12.SetResource(source12.SubscribeSafe(_observer12)); _observer13.SetResource(source13.SubscribeSafe(_observer13)); _observer14.SetResource(source14.SubscribeSafe(_observer14)); _observer15.SetResource(source15.SubscribeSafe(_observer15)); SetUpstream(StableCompositeDisposable.CreateTrusted(subscriptions)); } protected override TResult GetResult() => _resultSelector(_observer1.Value!, _observer2.Value!, _observer3.Value!, _observer4.Value!, _observer5.Value!, _observer6.Value!, _observer7.Value!, _observer8.Value!, _observer9.Value!, _observer10.Value!, _observer11.Value!, _observer12.Value!, _observer13.Value!, _observer14.Value!, _observer15.Value!); } } internal sealed class CombineLatest : Producer._> { private readonly IObservable _source1; private readonly IObservable _source2; private readonly IObservable _source3; private readonly IObservable _source4; private readonly IObservable _source5; private readonly IObservable _source6; private readonly IObservable _source7; private readonly IObservable _source8; private readonly IObservable _source9; private readonly IObservable _source10; private readonly IObservable _source11; private readonly IObservable _source12; private readonly IObservable _source13; private readonly IObservable _source14; private readonly IObservable _source15; private readonly IObservable _source16; private readonly Func _resultSelector; public CombineLatest(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, IObservable source12, IObservable source13, IObservable source14, IObservable source15, IObservable source16, Func resultSelector) { _source1 = source1; _source2 = source2; _source3 = source3; _source4 = source4; _source5 = source5; _source6 = source6; _source7 = source7; _source8 = source8; _source9 = source9; _source10 = source10; _source11 = source11; _source12 = source12; _source13 = source13; _source14 = source14; _source15 = source15; _source16 = source16; _resultSelector = resultSelector; } protected override _ CreateSink(IObserver observer) => new(_resultSelector, observer); protected override void Run(_ sink) => sink.Run(_source1, _source2, _source3, _source4, _source5, _source6, _source7, _source8, _source9, _source10, _source11, _source12, _source13, _source14, _source15, _source16); internal sealed class _ : CombineLatestSink { private readonly Func _resultSelector; private readonly CombineLatestObserver _observer1; private readonly CombineLatestObserver _observer2; private readonly CombineLatestObserver _observer3; private readonly CombineLatestObserver _observer4; private readonly CombineLatestObserver _observer5; private readonly CombineLatestObserver _observer6; private readonly CombineLatestObserver _observer7; private readonly CombineLatestObserver _observer8; private readonly CombineLatestObserver _observer9; private readonly CombineLatestObserver _observer10; private readonly CombineLatestObserver _observer11; private readonly CombineLatestObserver _observer12; private readonly CombineLatestObserver _observer13; private readonly CombineLatestObserver _observer14; private readonly CombineLatestObserver _observer15; private readonly CombineLatestObserver _observer16; public _(Func resultSelector, IObserver observer) : base(16, observer) { _resultSelector = resultSelector; _observer1 = new CombineLatestObserver(_gate, this, 0); _observer2 = new CombineLatestObserver(_gate, this, 1); _observer3 = new CombineLatestObserver(_gate, this, 2); _observer4 = new CombineLatestObserver(_gate, this, 3); _observer5 = new CombineLatestObserver(_gate, this, 4); _observer6 = new CombineLatestObserver(_gate, this, 5); _observer7 = new CombineLatestObserver(_gate, this, 6); _observer8 = new CombineLatestObserver(_gate, this, 7); _observer9 = new CombineLatestObserver(_gate, this, 8); _observer10 = new CombineLatestObserver(_gate, this, 9); _observer11 = new CombineLatestObserver(_gate, this, 10); _observer12 = new CombineLatestObserver(_gate, this, 11); _observer13 = new CombineLatestObserver(_gate, this, 12); _observer14 = new CombineLatestObserver(_gate, this, 13); _observer15 = new CombineLatestObserver(_gate, this, 14); _observer16 = new CombineLatestObserver(_gate, this, 15); } public void Run(IObservable source1, IObservable source2, IObservable source3, IObservable source4, IObservable source5, IObservable source6, IObservable source7, IObservable source8, IObservable source9, IObservable source10, IObservable source11, IObservable source12, IObservable source13, IObservable source14, IObservable source15, IObservable source16) { var subscriptions = new IDisposable[16]; subscriptions[0] = _observer1; subscriptions[1] = _observer2; subscriptions[2] = _observer3; subscriptions[3] = _observer4; subscriptions[4] = _observer5; subscriptions[5] = _observer6; subscriptions[6] = _observer7; subscriptions[7] = _observer8; subscriptions[8] = _observer9; subscriptions[9] = _observer10; subscriptions[10] = _observer11; subscriptions[11] = _observer12; subscriptions[12] = _observer13; subscriptions[13] = _observer14; subscriptions[14] = _observer15; subscriptions[15] = _observer16; _observer1.SetResource(source1.SubscribeSafe(_observer1)); _observer2.SetResource(source2.SubscribeSafe(_observer2)); _observer3.SetResource(source3.SubscribeSafe(_observer3)); _observer4.SetResource(source4.SubscribeSafe(_observer4)); _observer5.SetResource(source5.SubscribeSafe(_observer5)); _observer6.SetResource(source6.SubscribeSafe(_observer6)); _observer7.SetResource(source7.SubscribeSafe(_observer7)); _observer8.SetResource(source8.SubscribeSafe(_observer8)); _observer9.SetResource(source9.SubscribeSafe(_observer9)); _observer10.SetResource(source10.SubscribeSafe(_observer10)); _observer11.SetResource(source11.SubscribeSafe(_observer11)); _observer12.SetResource(source12.SubscribeSafe(_observer12)); _observer13.SetResource(source13.SubscribeSafe(_observer13)); _observer14.SetResource(source14.SubscribeSafe(_observer14)); _observer15.SetResource(source15.SubscribeSafe(_observer15)); _observer16.SetResource(source16.SubscribeSafe(_observer16)); SetUpstream(StableCompositeDisposable.CreateTrusted(subscriptions)); } protected override TResult GetResult() => _resultSelector(_observer1.Value!, _observer2.Value!, _observer3.Value!, _observer4.Value!, _observer5.Value!, _observer6.Value!, _observer7.Value!, _observer8.Value!, _observer9.Value!, _observer10.Value!, _observer11.Value!, _observer12.Value!, _observer13.Value!, _observer14.Value!, _observer15.Value!, _observer16.Value!); } } #endregion #endregion }