<PackageReference Include="System.Reactive" Version="7.0.0-preview.1" />

Pattern<TSource1, TSource2>

public class Pattern<TSource1, TSource2> : Pattern
using System.Runtime.CompilerServices; namespace System.Reactive.Joins { [NullableContext(1)] [Nullable(0)] public class Pattern<[Nullable(2)] TSource1, [Nullable(2)] TSource2> : Pattern { internal IObservable<TSource1> First { get; } internal IObservable<TSource2> Second { get; } internal Pattern(IObservable<TSource1> first, IObservable<TSource2> second) { First = first; Second = second; } public Pattern<TSource1, TSource2, TSource3> And<[Nullable(2)] TSource3>(IObservable<TSource3> other) { if (other == null) throw new ArgumentNullException("other"); return new Pattern<TSource1, TSource2, TSource3>(this.First, this.Second, other); } public Plan<TResult> Then<[Nullable(2)] TResult>(Func<TSource1, TSource2, TResult> selector) { if (selector == null) throw new ArgumentNullException("selector"); return new System.Reactive.Joins.Plan<TSource1, TSource2, TResult>(this, selector); } } }