TaskFactory.ContinueWhenAll Method (array<Task[], Action<array<Task[]>)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Creates a continuation Task that will be started upon the completion of a set of provided Tasks.
Namespace: System.Threading.Tasks
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Function ContinueWhenAll ( _
tasks As Task(), _
continuationAction As Action(Of Task()) _
) As Task
public Task ContinueWhenAll(
Task[] tasks,
Action<Task[]> continuationAction
)
Parameters
- tasks
Type: array<System.Threading.Tasks.Task[]
The array of tasks from which to continue.
- continuationAction
Type: System.Action<array<Task[]>
The action delegate to execute when all tasks in the tasks array have completed.
Return Value
Type: System.Threading.Tasks.Task
The new continuation Task.
Exceptions
Exception | Condition |
---|---|
ObjectDisposedException | The exception that is thrown when one of the elements in the tasks array has been disposed. |
ArgumentNullException | The exception that is thrown when the tasks array is null. -or- The exception that is thrown when the continuationAction 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. |
Examples
This example demonstrates using ContinueWhenAll() to perform some continuation a set of previously started Tasks has completed.
// C#
// Create and start some tasks
var taskQueue = new Queue<Task>();
for (int i = 0; i < 10; i++)
{
taskQueue.Enqueue(Task.Factory.StartNew(() =>
{
// Do work.
}));
}
// Perform some work with the tasks when they complete.
Task.Factory.ContinueWhenAll(taskQueue.ToArray(), completedTasks =>
{
// Do continuation work.
});
' Visual Basic
' Create and start some tasks
Dim taskQueue As New Queue(Of Task)()
For i As Integer = 0 To 9
taskQueue.Add(Task.Factory.StartNew(Sub()
' Do work.
End Sub))
Next
' Perform some work with the tasks when they complete.
Task.Factory.ContinueWhenAll(taskQueue.ToArray(), Sub(completedTasks)
' Do continuation work.
End Sub)
Version Information
Silverlight
Supported in: 5
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
See Also