瀏覽代碼

Reordering Aggregate overloads.

Bart De Smet 8 年之前
父節點
當前提交
f2600ee3ba
共有 1 個文件被更改,包括 16 次插入16 次删除
  1. 16 16
      Ix.NET/Source/System.Interactive.Async/Aggregate.cs

+ 16 - 16
Ix.NET/Source/System.Interactive.Async/Aggregate.cs

@@ -10,68 +10,68 @@ namespace System.Linq
 {
 {
     public static partial class AsyncEnumerable
     public static partial class AsyncEnumerable
     {
     {
-        public static Task<TResult> Aggregate<TSource, TAccumulate, TResult>(this IAsyncEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator, Func<TAccumulate, TResult> resultSelector)
+        public static Task<TSource> Aggregate<TSource>(this IAsyncEnumerable<TSource> source, Func<TSource, TSource, TSource> accumulator)
         {
         {
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
             if (accumulator == null)
             if (accumulator == null)
                 throw new ArgumentNullException(nameof(accumulator));
                 throw new ArgumentNullException(nameof(accumulator));
-            if (resultSelector == null)
-                throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return Aggregate(source, seed, accumulator, resultSelector, CancellationToken.None);
+            return Aggregate(source, accumulator, CancellationToken.None);
         }
         }
 
 
-        public static Task<TAccumulate> Aggregate<TSource, TAccumulate>(this IAsyncEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator)
+        public static Task<TSource> Aggregate<TSource>(this IAsyncEnumerable<TSource> source, Func<TSource, TSource, TSource> accumulator, CancellationToken cancellationToken)
         {
         {
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
             if (accumulator == null)
             if (accumulator == null)
                 throw new ArgumentNullException(nameof(accumulator));
                 throw new ArgumentNullException(nameof(accumulator));
 
 
-            return Aggregate(source, seed, accumulator, CancellationToken.None);
+            return Aggregate_(source, accumulator, cancellationToken);
         }
         }
 
 
-        public static Task<TSource> Aggregate<TSource>(this IAsyncEnumerable<TSource> source, Func<TSource, TSource, TSource> accumulator)
+        public static Task<TAccumulate> Aggregate<TSource, TAccumulate>(this IAsyncEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator)
         {
         {
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
             if (accumulator == null)
             if (accumulator == null)
                 throw new ArgumentNullException(nameof(accumulator));
                 throw new ArgumentNullException(nameof(accumulator));
 
 
-            return Aggregate(source, accumulator, CancellationToken.None);
+            return Aggregate(source, seed, accumulator, CancellationToken.None);
         }
         }
 
 
-        public static Task<TResult> Aggregate<TSource, TAccumulate, TResult>(this IAsyncEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator, Func<TAccumulate, TResult> resultSelector, CancellationToken cancellationToken)
+        public static Task<TAccumulate> Aggregate<TSource, TAccumulate>(this IAsyncEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator, CancellationToken cancellationToken)
         {
         {
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
             if (accumulator == null)
             if (accumulator == null)
                 throw new ArgumentNullException(nameof(accumulator));
                 throw new ArgumentNullException(nameof(accumulator));
-            if (resultSelector == null)
-                throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return Aggregate_(source, seed, accumulator, resultSelector, cancellationToken);
+            return source.Aggregate(seed, accumulator, x => x, cancellationToken);
         }
         }
 
 
-        public static Task<TAccumulate> Aggregate<TSource, TAccumulate>(this IAsyncEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator, CancellationToken cancellationToken)
+        public static Task<TResult> Aggregate<TSource, TAccumulate, TResult>(this IAsyncEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator, Func<TAccumulate, TResult> resultSelector)
         {
         {
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
             if (accumulator == null)
             if (accumulator == null)
                 throw new ArgumentNullException(nameof(accumulator));
                 throw new ArgumentNullException(nameof(accumulator));
+            if (resultSelector == null)
+                throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return source.Aggregate(seed, accumulator, x => x, cancellationToken);
+            return Aggregate(source, seed, accumulator, resultSelector, CancellationToken.None);
         }
         }
 
 
-        public static Task<TSource> Aggregate<TSource>(this IAsyncEnumerable<TSource> source, Func<TSource, TSource, TSource> accumulator, CancellationToken cancellationToken)
+        public static Task<TResult> Aggregate<TSource, TAccumulate, TResult>(this IAsyncEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator, Func<TAccumulate, TResult> resultSelector, CancellationToken cancellationToken)
         {
         {
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
             if (accumulator == null)
             if (accumulator == null)
                 throw new ArgumentNullException(nameof(accumulator));
                 throw new ArgumentNullException(nameof(accumulator));
+            if (resultSelector == null)
+                throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return Aggregate_(source, accumulator, cancellationToken);
+            return Aggregate_(source, seed, accumulator, resultSelector, cancellationToken);
         }
         }
 
 
         private static async Task<TResult> Aggregate_<TSource, TAccumulate, TResult>(IAsyncEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator, Func<TAccumulate, TResult> resultSelector, CancellationToken cancellationToken)
         private static async Task<TResult> Aggregate_<TSource, TAccumulate, TResult>(IAsyncEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator, Func<TAccumulate, TResult> resultSelector, CancellationToken cancellationToken)