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 } ) )); }
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 } ) )); }