public static IReliableQbservable <R> SelectMany <T, R>(this IReliableQbservable <T> source, Expression <Func <T, IReliableQbservable <R> > > resultSelector)
 {
     return(source.Provider.CreateQbservable <R>(
                Expression.Call(
                    ((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(T), typeof(R)),
                    source.Expression,
                    resultSelector
                    )
                ));
 }
 public static IReliableQbservable <T> Where <T>(this IReliableQbservable <T> source, Expression <Func <T, bool> > predicate)
 {
     return(source.Provider.CreateQbservable <T>(
                Expression.Call(
                    ((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(T)),
                    source.Expression,
                    predicate
                    )
                ));
 }
Esempio n. 3
0
        internal IReliableQubscription Subscribe <T>(IReliableQbservable <T> observable, IReliableQbserver <T> observer, Uri subscriptionUri, object state)
        {
            var subscribe  = Expression.Parameter(typeof(Func <IReliableQbservable <T>, IReliableQbserver <T>, IReliableQubscription>), Constants.SubscribeUri);
            var expression = Expression.Invoke(subscribe, observable.Expression, observer.Expression);

            var normalized = _expressionServices.Normalize(expression);

            var subscription = new KnownReliableQubscription(normalized, subscriptionUri, this);

            CreateSubscription(subscription, state);

            return(subscription);
        }