TaskFactory.ContinueWhenAll Method (Task[], Action<Task[]>, CancellationToken)


Creates a continuation task that starts when a set of specified tasks has completed.

Namespace:   System.Threading.Tasks
Assembly:  mscorlib (in mscorlib.dll)

member ContinueWhenAll : 
        tasks:Task[] *
        continuationAction:Action<Task[]> *
        cancellationToken:CancellationToken -> Task


Type: System.Threading.Tasks.Task[]

The array of tasks from which to continue.

Type: System.Action<Task[]>

The action delegate to execute when all tasks in the tasks array have completed.

Type: System.Threading.CancellationToken

The cancellation token to assign to the new continuation task.

Return Value

Type: System.Threading.Tasks.Task

The new continuation task.

Exception Condition

An element in the tasks array has been disposed.


The CancellationTokenSource that created cancellationToken has already been disposed.


The tasks array is null.


The continuationAction argument is null.


The tasks array is empty or contains a null value.

The ContinueWhenAll(Task[], Action<Task[]>, CancellationToken) method executes the continuationAction delegate when all tasks in the tasks array have completed, regardless of their completion status.

The following example creates a cancellation token, which it passes to separate tasks that use a regular expression to count the number of words in a set of text files. The cancellation token is set if a file cannot be found. The ContinueWhenAll method is used to launch a task that displays the total word count when all the antecedent tasks have completed. If the cancellation token is set, which indicates that one or more tasks have been cancelled, it handles the AggregateException exception and displays an error message.

No code example is currently available or this language may not be supported.

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Available since 5.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Return to top