public static Task <TResult[]> WhenAll <TResult>(IEnumerable <Task <TResult> > tasks) { return(TaskEx.WhenAllCore <TResult[]>(tasks.Cast <Task>(), (Action <Task[], TaskCompletionSource <TResult[]> >)((completedTasks, tcs) => tcs.TrySetResult(((IEnumerable <Task>)completedTasks).Select <Task, TResult>((Func <Task, TResult>)(t => ((Task <TResult>)t).Result)).ToArray <TResult>())))); }
public static Task WhenAll(IEnumerable <Task> tasks) { return((Task)TaskEx.WhenAllCore <object>(tasks, (Action <Task[], TaskCompletionSource <object> >)((completedTasks, tcs) => tcs.TrySetResult((object)null)))); }