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

QueryablePattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8>

public class QueryablePattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8> : QueryablePattern
Represents a join pattern over eight observable sequences.
using System.Linq.Expressions; using System.Reactive.Linq; using System.Reflection; namespace System.Reactive.Joins { public class QueryablePattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8> : QueryablePattern { internal QueryablePattern(Expression expression) : base(expression) { } public QueryablePattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9> And<TSource9>(IObservable<TSource9> other) { if (other == null) throw new ArgumentNullException("other"); MethodInfo method = typeof(QueryablePattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8>).GetMethod("And").MakeGenericMethod(typeof(TSource9)); return new QueryablePattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9>((Expression)Expression.Call(base.Expression, method, Qbservable.GetSourceExpression<TSource9>(other))); } public QueryablePlan<TResult> Then<TResult>(Expression<Func<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TResult>> selector) { if (selector == null) throw new ArgumentNullException("selector"); MethodInfo method = typeof(QueryablePattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8>).GetMethod("Then").MakeGenericMethod(typeof(TResult)); return new QueryablePlan<TResult>((Expression)Expression.Call(base.Expression, method, selector)); } } }