QueryablePattern<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13>
public class QueryablePattern<
TSource1,
TSource2,
TSource3,
TSource4,
TSource5,
TSource6,
TSource7,
TSource8,
TSource9,
TSource10,
TSource11,
TSource12,
TSource13> :
QueryablePattern
Represents a join pattern over thirteen 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,
TSource9,
TSource10,
TSource11,
TSource12,
TSource13> :
QueryablePattern
{
internal QueryablePattern(
Expression expression)
:
base(
expression)
{
}
public QueryablePattern<
TSource1,
TSource2,
TSource3,
TSource4,
TSource5,
TSource6,
TSource7,
TSource8,
TSource9,
TSource10,
TSource11,
TSource12,
TSource13,
TSource14>
And<
TSource14>(
IObservable<
TSource14>
other)
{
if (
other ==
null)
throw new ArgumentNullException(
"other");
MethodInfo method =
typeof(
QueryablePattern<
TSource1,
TSource2,
TSource3,
TSource4,
TSource5,
TSource6,
TSource7,
TSource8,
TSource9,
TSource10,
TSource11,
TSource12,
TSource13>).
GetMethod(
"And").
MakeGenericMethod(
typeof(
TSource14));
return new QueryablePattern<
TSource1,
TSource2,
TSource3,
TSource4,
TSource5,
TSource6,
TSource7,
TSource8,
TSource9,
TSource10,
TSource11,
TSource12,
TSource13,
TSource14>((
Expression)
Expression.
Call(
base.
Expression,
method,
Qbservable.
GetSourceExpression<
TSource14>(
other)));
}
public QueryablePlan<
TResult>
Then<
TResult>(
Expression<
Func<
TSource1,
TSource2,
TSource3,
TSource4,
TSource5,
TSource6,
TSource7,
TSource8,
TSource9,
TSource10,
TSource11,
TSource12,
TSource13,
TResult>>
selector)
{
if (
selector ==
null)
throw new ArgumentNullException(
"selector");
MethodInfo method =
typeof(
QueryablePattern<
TSource1,
TSource2,
TSource3,
TSource4,
TSource5,
TSource6,
TSource7,
TSource8,
TSource9,
TSource10,
TSource11,
TSource12,
TSource13>).
GetMethod(
"Then").
MakeGenericMethod(
typeof(
TResult));
return new QueryablePlan<
TResult>((
Expression)
Expression.
Call(
base.
Expression,
method,
selector));
}
}
}