예제 #1
0
 public static ISymbol <TResult> Gather <TSource, TResult>(
     this ISymbolCollection <TSource> source,
     Expression <Func <IEnumerable <TSource>, TResult> > reducer
     )
 {
     return(source.CreateQuery <TResult>(
                Expression.Call(null,
                                ((MethodInfo)MethodBase.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TResult)),
                                new[] { source.Expression, reducer }
                                )
                ));
 }
예제 #2
0
 public static ISymbol <TAccumulate> Gather <TSource, TAccumulate>(
     this ISymbolCollection <TSource> source,
     TAccumulate seed,
     Expression <Func <TAccumulate, TSource, TAccumulate> > func
     )
 {
     return(source.CreateQuery <TAccumulate>(
                Expression.Call(null,
                                ((MethodInfo)MethodBase.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TAccumulate)),
                                new[] { source.Expression, Expression.Constant(seed), func }
                                )
                ));
 }