|
@@ -0,0 +1,1967 @@
|
|
|
+// 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.
|
|
|
+
|
|
|
+// This code was generated by a T4 template at 10/05/2020 14:10:15.
|
|
|
+
|
|
|
+using System.Linq.Expressions;
|
|
|
+#if !CRIPPLED_REFLECTION
|
|
|
+using System.Reflection;
|
|
|
+#endif
|
|
|
+
|
|
|
+namespace System.Reactive.Linq
|
|
|
+{
|
|
|
+ public static partial class QbservableEx
|
|
|
+ {
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second)> CombineLatest<TFirst, TSecond>(this IQbservable<TFirst> first, IObservable<TSecond> second)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.CombineLatest<TFirst, TSecond>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third)> CombineLatest<TFirst, TSecond, TThird>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.CombineLatest<TFirst, TSecond, TThird>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth)> CombineLatest<TFirst, TSecond, TThird, TFourth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.CombineLatest<TFirst, TSecond, TThird, TFourth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth)> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth)> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh)> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth)> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TNinth">The type of the elements in the ninth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <param name="ninth">Ninth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> or <paramref name="ninth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth)> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+ if (ninth == null)
|
|
|
+ throw new ArgumentNullException(nameof(ninth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth), typeof(TNinth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth),
|
|
|
+ GetSourceExpression(ninth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TNinth">The type of the elements in the ninth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTenth">The type of the elements in the tenth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <param name="ninth">Ninth observable source.</param>
|
|
|
+ /// <param name="tenth">Tenth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> or <paramref name="ninth"/> or <paramref name="tenth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth)> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+ if (ninth == null)
|
|
|
+ throw new ArgumentNullException(nameof(ninth));
|
|
|
+ if (tenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(tenth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth), typeof(TNinth), typeof(TTenth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth),
|
|
|
+ GetSourceExpression(ninth),
|
|
|
+ GetSourceExpression(tenth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TNinth">The type of the elements in the ninth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTenth">The type of the elements in the tenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEleventh">The type of the elements in the eleventh source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <param name="ninth">Ninth observable source.</param>
|
|
|
+ /// <param name="tenth">Tenth observable source.</param>
|
|
|
+ /// <param name="eleventh">Eleventh observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> or <paramref name="ninth"/> or <paramref name="tenth"/> or <paramref name="eleventh"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh)> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+ if (ninth == null)
|
|
|
+ throw new ArgumentNullException(nameof(ninth));
|
|
|
+ if (tenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(tenth));
|
|
|
+ if (eleventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(eleventh));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth), typeof(TNinth), typeof(TTenth), typeof(TEleventh)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth),
|
|
|
+ GetSourceExpression(ninth),
|
|
|
+ GetSourceExpression(tenth),
|
|
|
+ GetSourceExpression(eleventh)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TNinth">The type of the elements in the ninth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTenth">The type of the elements in the tenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEleventh">The type of the elements in the eleventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTwelfth">The type of the elements in the twelfth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <param name="ninth">Ninth observable source.</param>
|
|
|
+ /// <param name="tenth">Tenth observable source.</param>
|
|
|
+ /// <param name="eleventh">Eleventh observable source.</param>
|
|
|
+ /// <param name="twelfth">Twelfth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> or <paramref name="ninth"/> or <paramref name="tenth"/> or <paramref name="eleventh"/> or <paramref name="twelfth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth)> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+ if (ninth == null)
|
|
|
+ throw new ArgumentNullException(nameof(ninth));
|
|
|
+ if (tenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(tenth));
|
|
|
+ if (eleventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(eleventh));
|
|
|
+ if (twelfth == null)
|
|
|
+ throw new ArgumentNullException(nameof(twelfth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth), typeof(TNinth), typeof(TTenth), typeof(TEleventh), typeof(TTwelfth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth),
|
|
|
+ GetSourceExpression(ninth),
|
|
|
+ GetSourceExpression(tenth),
|
|
|
+ GetSourceExpression(eleventh),
|
|
|
+ GetSourceExpression(twelfth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TNinth">The type of the elements in the ninth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTenth">The type of the elements in the tenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEleventh">The type of the elements in the eleventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTwelfth">The type of the elements in the twelfth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThirteenth">The type of the elements in the thirteenth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <param name="ninth">Ninth observable source.</param>
|
|
|
+ /// <param name="tenth">Tenth observable source.</param>
|
|
|
+ /// <param name="eleventh">Eleventh observable source.</param>
|
|
|
+ /// <param name="twelfth">Twelfth observable source.</param>
|
|
|
+ /// <param name="thirteenth">Thirteenth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> or <paramref name="ninth"/> or <paramref name="tenth"/> or <paramref name="eleventh"/> or <paramref name="twelfth"/> or <paramref name="thirteenth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth)> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth, IObservable<TThirteenth> thirteenth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+ if (ninth == null)
|
|
|
+ throw new ArgumentNullException(nameof(ninth));
|
|
|
+ if (tenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(tenth));
|
|
|
+ if (eleventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(eleventh));
|
|
|
+ if (twelfth == null)
|
|
|
+ throw new ArgumentNullException(nameof(twelfth));
|
|
|
+ if (thirteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(thirteenth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth), typeof(TNinth), typeof(TTenth), typeof(TEleventh), typeof(TTwelfth), typeof(TThirteenth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth),
|
|
|
+ GetSourceExpression(ninth),
|
|
|
+ GetSourceExpression(tenth),
|
|
|
+ GetSourceExpression(eleventh),
|
|
|
+ GetSourceExpression(twelfth),
|
|
|
+ GetSourceExpression(thirteenth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TNinth">The type of the elements in the ninth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTenth">The type of the elements in the tenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEleventh">The type of the elements in the eleventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTwelfth">The type of the elements in the twelfth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThirteenth">The type of the elements in the thirteenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourteenth">The type of the elements in the fourteenth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <param name="ninth">Ninth observable source.</param>
|
|
|
+ /// <param name="tenth">Tenth observable source.</param>
|
|
|
+ /// <param name="eleventh">Eleventh observable source.</param>
|
|
|
+ /// <param name="twelfth">Twelfth observable source.</param>
|
|
|
+ /// <param name="thirteenth">Thirteenth observable source.</param>
|
|
|
+ /// <param name="fourteenth">Fourteenth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> or <paramref name="ninth"/> or <paramref name="tenth"/> or <paramref name="eleventh"/> or <paramref name="twelfth"/> or <paramref name="thirteenth"/> or <paramref name="fourteenth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth, TFourteenth Fourteenth)> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth, IObservable<TThirteenth> thirteenth, IObservable<TFourteenth> fourteenth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+ if (ninth == null)
|
|
|
+ throw new ArgumentNullException(nameof(ninth));
|
|
|
+ if (tenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(tenth));
|
|
|
+ if (eleventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(eleventh));
|
|
|
+ if (twelfth == null)
|
|
|
+ throw new ArgumentNullException(nameof(twelfth));
|
|
|
+ if (thirteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(thirteenth));
|
|
|
+ if (fourteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourteenth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth, TFourteenth Fourteenth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth), typeof(TNinth), typeof(TTenth), typeof(TEleventh), typeof(TTwelfth), typeof(TThirteenth), typeof(TFourteenth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth),
|
|
|
+ GetSourceExpression(ninth),
|
|
|
+ GetSourceExpression(tenth),
|
|
|
+ GetSourceExpression(eleventh),
|
|
|
+ GetSourceExpression(twelfth),
|
|
|
+ GetSourceExpression(thirteenth),
|
|
|
+ GetSourceExpression(fourteenth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TNinth">The type of the elements in the ninth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTenth">The type of the elements in the tenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEleventh">The type of the elements in the eleventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTwelfth">The type of the elements in the twelfth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThirteenth">The type of the elements in the thirteenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourteenth">The type of the elements in the fourteenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifteenth">The type of the elements in the fifteenth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <param name="ninth">Ninth observable source.</param>
|
|
|
+ /// <param name="tenth">Tenth observable source.</param>
|
|
|
+ /// <param name="eleventh">Eleventh observable source.</param>
|
|
|
+ /// <param name="twelfth">Twelfth observable source.</param>
|
|
|
+ /// <param name="thirteenth">Thirteenth observable source.</param>
|
|
|
+ /// <param name="fourteenth">Fourteenth observable source.</param>
|
|
|
+ /// <param name="fifteenth">Fifteenth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> or <paramref name="ninth"/> or <paramref name="tenth"/> or <paramref name="eleventh"/> or <paramref name="twelfth"/> or <paramref name="thirteenth"/> or <paramref name="fourteenth"/> or <paramref name="fifteenth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth, TFourteenth Fourteenth, TFifteenth Fifteenth)> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, TFifteenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth, IObservable<TThirteenth> thirteenth, IObservable<TFourteenth> fourteenth, IObservable<TFifteenth> fifteenth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+ if (ninth == null)
|
|
|
+ throw new ArgumentNullException(nameof(ninth));
|
|
|
+ if (tenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(tenth));
|
|
|
+ if (eleventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(eleventh));
|
|
|
+ if (twelfth == null)
|
|
|
+ throw new ArgumentNullException(nameof(twelfth));
|
|
|
+ if (thirteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(thirteenth));
|
|
|
+ if (fourteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourteenth));
|
|
|
+ if (fifteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifteenth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth, TFourteenth Fourteenth, TFifteenth Fifteenth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, TFifteenth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth), typeof(TNinth), typeof(TTenth), typeof(TEleventh), typeof(TTwelfth), typeof(TThirteenth), typeof(TFourteenth), typeof(TFifteenth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth),
|
|
|
+ GetSourceExpression(ninth),
|
|
|
+ GetSourceExpression(tenth),
|
|
|
+ GetSourceExpression(eleventh),
|
|
|
+ GetSourceExpression(twelfth),
|
|
|
+ GetSourceExpression(thirteenth),
|
|
|
+ GetSourceExpression(fourteenth),
|
|
|
+ GetSourceExpression(fifteenth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever any of the observable sequences produces an element.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TNinth">The type of the elements in the ninth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTenth">The type of the elements in the tenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEleventh">The type of the elements in the eleventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTwelfth">The type of the elements in the twelfth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThirteenth">The type of the elements in the thirteenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourteenth">The type of the elements in the fourteenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifteenth">The type of the elements in the fifteenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixteenth">The type of the elements in the sixteenth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <param name="ninth">Ninth observable source.</param>
|
|
|
+ /// <param name="tenth">Tenth observable source.</param>
|
|
|
+ /// <param name="eleventh">Eleventh observable source.</param>
|
|
|
+ /// <param name="twelfth">Twelfth observable source.</param>
|
|
|
+ /// <param name="thirteenth">Thirteenth observable source.</param>
|
|
|
+ /// <param name="fourteenth">Fourteenth observable source.</param>
|
|
|
+ /// <param name="fifteenth">Fifteenth observable source.</param>
|
|
|
+ /// <param name="sixteenth">Sixteenth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> or <paramref name="ninth"/> or <paramref name="tenth"/> or <paramref name="eleventh"/> or <paramref name="twelfth"/> or <paramref name="thirteenth"/> or <paramref name="fourteenth"/> or <paramref name="fifteenth"/> or <paramref name="sixteenth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth, TFourteenth Fourteenth, TFifteenth Fifteenth, TSixteenth Sixteenth)> CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, TFifteenth, TSixteenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth, IObservable<TThirteenth> thirteenth, IObservable<TFourteenth> fourteenth, IObservable<TFifteenth> fifteenth, IObservable<TSixteenth> sixteenth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+ if (ninth == null)
|
|
|
+ throw new ArgumentNullException(nameof(ninth));
|
|
|
+ if (tenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(tenth));
|
|
|
+ if (eleventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(eleventh));
|
|
|
+ if (twelfth == null)
|
|
|
+ throw new ArgumentNullException(nameof(twelfth));
|
|
|
+ if (thirteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(thirteenth));
|
|
|
+ if (fourteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourteenth));
|
|
|
+ if (fifteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifteenth));
|
|
|
+ if (sixteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixteenth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth, TFourteenth Fourteenth, TFifteenth Fifteenth, TSixteenth Sixteenth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.CombineLatest<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, TFifteenth, TSixteenth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth), typeof(TNinth), typeof(TTenth), typeof(TEleventh), typeof(TTwelfth), typeof(TThirteenth), typeof(TFourteenth), typeof(TFifteenth), typeof(TSixteenth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth),
|
|
|
+ GetSourceExpression(ninth),
|
|
|
+ GetSourceExpression(tenth),
|
|
|
+ GetSourceExpression(eleventh),
|
|
|
+ GetSourceExpression(twelfth),
|
|
|
+ GetSourceExpression(thirteenth),
|
|
|
+ GetSourceExpression(fourteenth),
|
|
|
+ GetSourceExpression(fifteenth),
|
|
|
+ GetSourceExpression(sixteenth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second)> Zip<TFirst, TSecond>(this IQbservable<TFirst> first, IObservable<TSecond> second)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.Zip<TFirst, TSecond>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third)> Zip<TFirst, TSecond, TThird>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.Zip<TFirst, TSecond, TThird>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth)> Zip<TFirst, TSecond, TThird, TFourth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.Zip<TFirst, TSecond, TThird, TFourth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth)> Zip<TFirst, TSecond, TThird, TFourth, TFifth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.Zip<TFirst, TSecond, TThird, TFourth, TFifth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth)> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh)> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth)> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TNinth">The type of the elements in the ninth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <param name="ninth">Ninth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> or <paramref name="ninth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth)> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+ if (ninth == null)
|
|
|
+ throw new ArgumentNullException(nameof(ninth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth), typeof(TNinth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth),
|
|
|
+ GetSourceExpression(ninth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TNinth">The type of the elements in the ninth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTenth">The type of the elements in the tenth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <param name="ninth">Ninth observable source.</param>
|
|
|
+ /// <param name="tenth">Tenth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> or <paramref name="ninth"/> or <paramref name="tenth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth)> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+ if (ninth == null)
|
|
|
+ throw new ArgumentNullException(nameof(ninth));
|
|
|
+ if (tenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(tenth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth), typeof(TNinth), typeof(TTenth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth),
|
|
|
+ GetSourceExpression(ninth),
|
|
|
+ GetSourceExpression(tenth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TNinth">The type of the elements in the ninth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTenth">The type of the elements in the tenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEleventh">The type of the elements in the eleventh source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <param name="ninth">Ninth observable source.</param>
|
|
|
+ /// <param name="tenth">Tenth observable source.</param>
|
|
|
+ /// <param name="eleventh">Eleventh observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> or <paramref name="ninth"/> or <paramref name="tenth"/> or <paramref name="eleventh"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh)> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+ if (ninth == null)
|
|
|
+ throw new ArgumentNullException(nameof(ninth));
|
|
|
+ if (tenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(tenth));
|
|
|
+ if (eleventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(eleventh));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth), typeof(TNinth), typeof(TTenth), typeof(TEleventh)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth),
|
|
|
+ GetSourceExpression(ninth),
|
|
|
+ GetSourceExpression(tenth),
|
|
|
+ GetSourceExpression(eleventh)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TNinth">The type of the elements in the ninth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTenth">The type of the elements in the tenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEleventh">The type of the elements in the eleventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTwelfth">The type of the elements in the twelfth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <param name="ninth">Ninth observable source.</param>
|
|
|
+ /// <param name="tenth">Tenth observable source.</param>
|
|
|
+ /// <param name="eleventh">Eleventh observable source.</param>
|
|
|
+ /// <param name="twelfth">Twelfth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> or <paramref name="ninth"/> or <paramref name="tenth"/> or <paramref name="eleventh"/> or <paramref name="twelfth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth)> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+ if (ninth == null)
|
|
|
+ throw new ArgumentNullException(nameof(ninth));
|
|
|
+ if (tenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(tenth));
|
|
|
+ if (eleventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(eleventh));
|
|
|
+ if (twelfth == null)
|
|
|
+ throw new ArgumentNullException(nameof(twelfth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth), typeof(TNinth), typeof(TTenth), typeof(TEleventh), typeof(TTwelfth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth),
|
|
|
+ GetSourceExpression(ninth),
|
|
|
+ GetSourceExpression(tenth),
|
|
|
+ GetSourceExpression(eleventh),
|
|
|
+ GetSourceExpression(twelfth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TNinth">The type of the elements in the ninth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTenth">The type of the elements in the tenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEleventh">The type of the elements in the eleventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTwelfth">The type of the elements in the twelfth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThirteenth">The type of the elements in the thirteenth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <param name="ninth">Ninth observable source.</param>
|
|
|
+ /// <param name="tenth">Tenth observable source.</param>
|
|
|
+ /// <param name="eleventh">Eleventh observable source.</param>
|
|
|
+ /// <param name="twelfth">Twelfth observable source.</param>
|
|
|
+ /// <param name="thirteenth">Thirteenth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> or <paramref name="ninth"/> or <paramref name="tenth"/> or <paramref name="eleventh"/> or <paramref name="twelfth"/> or <paramref name="thirteenth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth)> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth, IObservable<TThirteenth> thirteenth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+ if (ninth == null)
|
|
|
+ throw new ArgumentNullException(nameof(ninth));
|
|
|
+ if (tenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(tenth));
|
|
|
+ if (eleventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(eleventh));
|
|
|
+ if (twelfth == null)
|
|
|
+ throw new ArgumentNullException(nameof(twelfth));
|
|
|
+ if (thirteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(thirteenth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth), typeof(TNinth), typeof(TTenth), typeof(TEleventh), typeof(TTwelfth), typeof(TThirteenth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth),
|
|
|
+ GetSourceExpression(ninth),
|
|
|
+ GetSourceExpression(tenth),
|
|
|
+ GetSourceExpression(eleventh),
|
|
|
+ GetSourceExpression(twelfth),
|
|
|
+ GetSourceExpression(thirteenth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TNinth">The type of the elements in the ninth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTenth">The type of the elements in the tenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEleventh">The type of the elements in the eleventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTwelfth">The type of the elements in the twelfth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThirteenth">The type of the elements in the thirteenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourteenth">The type of the elements in the fourteenth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <param name="ninth">Ninth observable source.</param>
|
|
|
+ /// <param name="tenth">Tenth observable source.</param>
|
|
|
+ /// <param name="eleventh">Eleventh observable source.</param>
|
|
|
+ /// <param name="twelfth">Twelfth observable source.</param>
|
|
|
+ /// <param name="thirteenth">Thirteenth observable source.</param>
|
|
|
+ /// <param name="fourteenth">Fourteenth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> or <paramref name="ninth"/> or <paramref name="tenth"/> or <paramref name="eleventh"/> or <paramref name="twelfth"/> or <paramref name="thirteenth"/> or <paramref name="fourteenth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth, TFourteenth Fourteenth)> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth, IObservable<TThirteenth> thirteenth, IObservable<TFourteenth> fourteenth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+ if (ninth == null)
|
|
|
+ throw new ArgumentNullException(nameof(ninth));
|
|
|
+ if (tenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(tenth));
|
|
|
+ if (eleventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(eleventh));
|
|
|
+ if (twelfth == null)
|
|
|
+ throw new ArgumentNullException(nameof(twelfth));
|
|
|
+ if (thirteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(thirteenth));
|
|
|
+ if (fourteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourteenth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth, TFourteenth Fourteenth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth), typeof(TNinth), typeof(TTenth), typeof(TEleventh), typeof(TTwelfth), typeof(TThirteenth), typeof(TFourteenth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth),
|
|
|
+ GetSourceExpression(ninth),
|
|
|
+ GetSourceExpression(tenth),
|
|
|
+ GetSourceExpression(eleventh),
|
|
|
+ GetSourceExpression(twelfth),
|
|
|
+ GetSourceExpression(thirteenth),
|
|
|
+ GetSourceExpression(fourteenth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TNinth">The type of the elements in the ninth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTenth">The type of the elements in the tenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEleventh">The type of the elements in the eleventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTwelfth">The type of the elements in the twelfth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThirteenth">The type of the elements in the thirteenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourteenth">The type of the elements in the fourteenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifteenth">The type of the elements in the fifteenth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <param name="ninth">Ninth observable source.</param>
|
|
|
+ /// <param name="tenth">Tenth observable source.</param>
|
|
|
+ /// <param name="eleventh">Eleventh observable source.</param>
|
|
|
+ /// <param name="twelfth">Twelfth observable source.</param>
|
|
|
+ /// <param name="thirteenth">Thirteenth observable source.</param>
|
|
|
+ /// <param name="fourteenth">Fourteenth observable source.</param>
|
|
|
+ /// <param name="fifteenth">Fifteenth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> or <paramref name="ninth"/> or <paramref name="tenth"/> or <paramref name="eleventh"/> or <paramref name="twelfth"/> or <paramref name="thirteenth"/> or <paramref name="fourteenth"/> or <paramref name="fifteenth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth, TFourteenth Fourteenth, TFifteenth Fifteenth)> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, TFifteenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth, IObservable<TThirteenth> thirteenth, IObservable<TFourteenth> fourteenth, IObservable<TFifteenth> fifteenth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+ if (ninth == null)
|
|
|
+ throw new ArgumentNullException(nameof(ninth));
|
|
|
+ if (tenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(tenth));
|
|
|
+ if (eleventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(eleventh));
|
|
|
+ if (twelfth == null)
|
|
|
+ throw new ArgumentNullException(nameof(twelfth));
|
|
|
+ if (thirteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(thirteenth));
|
|
|
+ if (fourteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourteenth));
|
|
|
+ if (fifteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifteenth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth, TFourteenth Fourteenth, TFifteenth Fifteenth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, TFifteenth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth), typeof(TNinth), typeof(TTenth), typeof(TEleventh), typeof(TTwelfth), typeof(TThirteenth), typeof(TFourteenth), typeof(TFifteenth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth),
|
|
|
+ GetSourceExpression(ninth),
|
|
|
+ GetSourceExpression(tenth),
|
|
|
+ GetSourceExpression(eleventh),
|
|
|
+ GetSourceExpression(twelfth),
|
|
|
+ GetSourceExpression(thirteenth),
|
|
|
+ GetSourceExpression(fourteenth),
|
|
|
+ GetSourceExpression(fifteenth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Merges the specified observable sequences into one observable sequence of tuple values whenever all of the observable sequences have produced an element at a corresponding index.
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="TFirst">The type of the elements in the first source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSecond">The type of the elements in the second source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThird">The type of the elements in the third source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourth">The type of the elements in the fourth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifth">The type of the elements in the fifth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixth">The type of the elements in the sixth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSeventh">The type of the elements in the seventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEighth">The type of the elements in the eighth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TNinth">The type of the elements in the ninth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTenth">The type of the elements in the tenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TEleventh">The type of the elements in the eleventh source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TTwelfth">The type of the elements in the twelfth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TThirteenth">The type of the elements in the thirteenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFourteenth">The type of the elements in the fourteenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TFifteenth">The type of the elements in the fifteenth source sequence.</typeparam>
|
|
|
+ /// <typeparam name="TSixteenth">The type of the elements in the sixteenth source sequence.</typeparam>
|
|
|
+ /// <param name="first">First observable source.</param>
|
|
|
+ /// <param name="second">Second observable source.</param>
|
|
|
+ /// <param name="third">Third observable source.</param>
|
|
|
+ /// <param name="fourth">Fourth observable source.</param>
|
|
|
+ /// <param name="fifth">Fifth observable source.</param>
|
|
|
+ /// <param name="sixth">Sixth observable source.</param>
|
|
|
+ /// <param name="seventh">Seventh observable source.</param>
|
|
|
+ /// <param name="eighth">Eighth observable source.</param>
|
|
|
+ /// <param name="ninth">Ninth observable source.</param>
|
|
|
+ /// <param name="tenth">Tenth observable source.</param>
|
|
|
+ /// <param name="eleventh">Eleventh observable source.</param>
|
|
|
+ /// <param name="twelfth">Twelfth observable source.</param>
|
|
|
+ /// <param name="thirteenth">Thirteenth observable source.</param>
|
|
|
+ /// <param name="fourteenth">Fourteenth observable source.</param>
|
|
|
+ /// <param name="fifteenth">Fifteenth observable source.</param>
|
|
|
+ /// <param name="sixteenth">Sixteenth observable source.</param>
|
|
|
+ /// <returns>An observable sequence containing the result of combining elements of the sources using tuple values.</returns>
|
|
|
+ /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> or <paramref name="third"/> or <paramref name="fourth"/> or <paramref name="fifth"/> or <paramref name="sixth"/> or <paramref name="seventh"/> or <paramref name="eighth"/> or <paramref name="ninth"/> or <paramref name="tenth"/> or <paramref name="eleventh"/> or <paramref name="twelfth"/> or <paramref name="thirteenth"/> or <paramref name="fourteenth"/> or <paramref name="fifteenth"/> or <paramref name="sixteenth"/> is null.</exception>
|
|
|
+ public static IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth, TFourteenth Fourteenth, TFifteenth Fifteenth, TSixteenth Sixteenth)> Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, TFifteenth, TSixteenth>(this IQbservable<TFirst> first, IObservable<TSecond> second, IObservable<TThird> third, IObservable<TFourth> fourth, IObservable<TFifth> fifth, IObservable<TSixth> sixth, IObservable<TSeventh> seventh, IObservable<TEighth> eighth, IObservable<TNinth> ninth, IObservable<TTenth> tenth, IObservable<TEleventh> eleventh, IObservable<TTwelfth> twelfth, IObservable<TThirteenth> thirteenth, IObservable<TFourteenth> fourteenth, IObservable<TFifteenth> fifteenth, IObservable<TSixteenth> sixteenth)
|
|
|
+ {
|
|
|
+ if (first == null)
|
|
|
+ throw new ArgumentNullException(nameof(first));
|
|
|
+ if (second == null)
|
|
|
+ throw new ArgumentNullException(nameof(second));
|
|
|
+ if (third == null)
|
|
|
+ throw new ArgumentNullException(nameof(third));
|
|
|
+ if (fourth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourth));
|
|
|
+ if (fifth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifth));
|
|
|
+ if (sixth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixth));
|
|
|
+ if (seventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(seventh));
|
|
|
+ if (eighth == null)
|
|
|
+ throw new ArgumentNullException(nameof(eighth));
|
|
|
+ if (ninth == null)
|
|
|
+ throw new ArgumentNullException(nameof(ninth));
|
|
|
+ if (tenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(tenth));
|
|
|
+ if (eleventh == null)
|
|
|
+ throw new ArgumentNullException(nameof(eleventh));
|
|
|
+ if (twelfth == null)
|
|
|
+ throw new ArgumentNullException(nameof(twelfth));
|
|
|
+ if (thirteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(thirteenth));
|
|
|
+ if (fourteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fourteenth));
|
|
|
+ if (fifteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(fifteenth));
|
|
|
+ if (sixteenth == null)
|
|
|
+ throw new ArgumentNullException(nameof(sixteenth));
|
|
|
+
|
|
|
+ return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth, TFourteenth Fourteenth, TFifteenth Fifteenth, TSixteenth Sixteenth)>(
|
|
|
+ Expression.Call(
|
|
|
+ null,
|
|
|
+#if CRIPPLED_REFLECTION
|
|
|
+ InfoOf(() => Qbservable.Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, TFifteenth, TSixteenth>(default(IQbservable<TSource1>), default(IObservable<TSource2>))),
|
|
|
+#else
|
|
|
+ ((MethodInfo)MethodInfo.GetCurrentMethod()!).MakeGenericMethod(typeof(TFirst), typeof(TSecond), typeof(TThird), typeof(TFourth), typeof(TFifth), typeof(TSixth), typeof(TSeventh), typeof(TEighth), typeof(TNinth), typeof(TTenth), typeof(TEleventh), typeof(TTwelfth), typeof(TThirteenth), typeof(TFourteenth), typeof(TFifteenth), typeof(TSixteenth)),
|
|
|
+#endif
|
|
|
+ first.Expression,
|
|
|
+ GetSourceExpression(second),
|
|
|
+ GetSourceExpression(third),
|
|
|
+ GetSourceExpression(fourth),
|
|
|
+ GetSourceExpression(fifth),
|
|
|
+ GetSourceExpression(sixth),
|
|
|
+ GetSourceExpression(seventh),
|
|
|
+ GetSourceExpression(eighth),
|
|
|
+ GetSourceExpression(ninth),
|
|
|
+ GetSourceExpression(tenth),
|
|
|
+ GetSourceExpression(eleventh),
|
|
|
+ GetSourceExpression(twelfth),
|
|
|
+ GetSourceExpression(thirteenth),
|
|
|
+ GetSourceExpression(fourteenth),
|
|
|
+ GetSourceExpression(fifteenth),
|
|
|
+ GetSourceExpression(sixteenth)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+}
|