TaskFactory.ContinueWhenAll<TResult> Method (Task[], Func<Task[], TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Creates a continuation Task<TResult> that will be started upon the completion of a set of provided Tasks.
Assembly: mscorlib (in mscorlib.dll)
public Task<TResult> ContinueWhenAll<TResult>(
Task[] tasks,
Func<Task[], TResult> continuationFunction,
CancellationToken cancellationToken,
TaskContinuationOptions continuationOptions,
TaskScheduler scheduler
)
Type Parameters
- TResult
The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.
Parameters
- tasks
- Type:
System.Threading.Tasks.Task
[]
The array of tasks from which to continue.
- continuationFunction
- Type: System.Func<
Task
[], TResult>
The function delegate to execute asynchronously when all tasks in the tasks array have completed.
- cancellationToken
- Type: System.Threading.CancellationToken
The CancellationToken that will be assigned to the new continuation task.
- continuationOptions
- Type: System.Threading.Tasks.TaskContinuationOptions
The TaskContinuationOptions value that controls the behavior of the created continuation Task<TResult>.
- scheduler
- Type: System.Threading.Tasks.TaskScheduler
The TaskScheduler that is used to schedule the created continuation Task<TResult>.
| Exception | Condition |
|---|---|
| ArgumentNullException | The exception that is thrown when the tasks array is null. -or- The exception that is thrown when the continuationFunction argument is null. -or- The exception that is thrown when the scheduler argument is null. |
| ArgumentException | The exception that is thrown when the tasks array contains a null value. -or- The exception that is thrown when the tasks array is empty. |
The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAll.