TaskFactory.ContinueWhenAll Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
Sobrecargas
| Name | Description |
|---|---|
| ContinueWhenAll(Task[], Action<Task[]>) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído. |
| ContinueWhenAll(Task[], Action<Task[]>, CancellationToken) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído. |
| ContinueWhenAll(Task[], Action<Task[]>, TaskContinuationOptions) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído. |
| ContinueWhenAll(Task[], Action<Task[]>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído. |
| ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído. |
| ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, TaskContinuationOptions) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído. |
| ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, CancellationToken) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído. |
| ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído. |
| ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído. |
| ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, TaskContinuationOptions) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído. |
| ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, CancellationToken) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído. |
| ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído. |
| ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído. |
| ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, CancellationToken) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído. |
| ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, TaskContinuationOptions) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído. |
| ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído. |
ContinueWhenAll(Task[], Action<Task[]>)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
public:
System::Threading::Tasks::Task ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<cli::array <System::Threading::Tasks::Task ^> ^> ^ continuationAction);
public System.Threading.Tasks.Task ContinueWhenAll(System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task[]> continuationAction);
member this.ContinueWhenAll : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task[]> -> System.Threading.Tasks.Task
Public Function ContinueWhenAll (tasks As Task(), continuationAction As Action(Of Task())) As Task
Parâmetros
- tasks
- Task[]
A variedade de tarefas a partir das quais continuar.
A ação delega para executar quando todas as tarefas do tasks array estiverem concluídas.
Devoluções
A nova tarefa de continuação.
Exceções
Um elemento do tasks array foi eliminado.
O tasks array está vazio ou contém um valor nulo.
Exemplos
O exemplo seguinte lança tarefas separadas que utilizam uma expressão regular para contar o número de palavras num conjunto de ficheiros de texto. O ContinueWhenAll método é usado para lançar uma tarefa que mostra a contagem total de palavras quando todas as tarefas antecedentes foram concluídas.
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string[] filenames = { "chapter1.txt", "chapter2.txt",
"chapter3.txt", "chapter4.txt",
"chapter5.txt" };
string pattern = @"\b\w+\b";
var tasks = new List<Task>();
int totalWords = 0;
// Determine the number of words in each file.
foreach (var filename in filenames)
tasks.Add( Task.Factory.StartNew( fn => { if (!File.Exists(fn.ToString()))
throw new FileNotFoundException("{0} does not exist.", filename);
StreamReader sr = new StreamReader(fn.ToString());
String content = sr.ReadToEnd();
sr.Close();
int words = Regex.Matches(content, pattern).Count;
Interlocked.Add(ref totalWords, words);
Console.WriteLine("{0,-25} {1,6:N0} words", fn, words); },
filename));
var finalTask = Task.Factory.ContinueWhenAll(tasks.ToArray(), wordCountTasks => {
int nSuccessfulTasks = 0;
int nFailed = 0;
int nFileNotFound = 0;
foreach (var t in wordCountTasks) {
if (t.Status == TaskStatus.RanToCompletion)
nSuccessfulTasks++;
if (t.Status == TaskStatus.Faulted) {
nFailed++;
t.Exception.Handle( (e) => {
if (e is FileNotFoundException)
nFileNotFound++;
return true;
});
}
}
Console.WriteLine("\n{0,-25} {1,6} total words\n",
String.Format("{0} files", nSuccessfulTasks),
totalWords);
if (nFailed > 0) {
Console.WriteLine("{0} tasks failed for the following reasons:", nFailed);
Console.WriteLine(" File not found: {0}", nFileNotFound);
if (nFailed != nFileNotFound)
Console.WriteLine(" Other: {0}", nFailed - nFileNotFound);
}
});
finalTask.Wait();
}
}
// The example displays output like the following:
// chapter2.txt 1,585 words
// chapter1.txt 4,012 words
// chapter5.txt 4,660 words
// chapter3.txt 7,481 words
//
// 4 files 17738 total words
//
// 1 tasks failed for the following reasons:
// File not found: 1
Imports System.Collections.Generic
Imports System.IO
Imports System.Threading
Imports System.Threading.Tasks
Imports System.Text.RegularExpressions
Module Example
Dim totalWords As Integer = 0
Public Sub Main()
Dim filenames() As String = { "chapter1.txt", "chapter2.txt",
"chapter3.txt", "chapter4.txt",
"chapter5.txt" }
Dim pattern As String = "\b\w+\b"
Dim tasks As New List(Of Task)()
' Determine the number of words in each file.
For Each filename In filenames
tasks.Add(Task.Factory.StartNew( Sub(fn)
If Not File.Exists(filename)
Throw New FileNotFoundException("{0} does not exist.", filename)
End If
Dim sr As New StreamReader(fn.ToString())
Dim content As String = sr.ReadToEnd()
sr.Close()
Dim words As Integer = Regex.Matches(content, pattern).Count
Interlocked.Add(totalWords, words)
Console.WriteLine("{0,-25} {1,6:N0} words", fn, words)
End Sub, filename))
Next
Dim finalTask As Task = Task.Factory.ContinueWhenAll(tasks.ToArray(),
Sub(wordCountTasks As Task() )
Dim nSuccessfulTasks As Integer = 0
Dim nFailed As Integer = 0
Dim nFileNotFound As Integer = 0
For Each t In wordCountTasks
If t.Status = TaskStatus.RanToCompletion Then _
nSuccessfulTasks += 1
If t.Status = TaskStatus.Faulted Then
nFailed += 1
t.Exception.Handle(Function(e As Exception)
If TypeOf e Is FileNotFoundException Then
nFileNotFound += 1
End If
Return True
End Function)
End If
Next
Console.WriteLine()
Console.WriteLine("{0,-25} {1,6} total words",
String.Format("{0} files", nSuccessfulTasks),
totalWords)
If nFailed > 0 Then
Console.WriteLine()
Console.WriteLine("{0} tasks failed for the following reasons:", nFailed)
Console.WriteLine(" File not found: {0}", nFileNotFound)
If nFailed <> nFileNotFound Then
Console.WriteLine(" Other: {0}", nFailed - nFileNotFound)
End If
End If
End Sub)
finalTask.Wait()
End Sub
Private Sub DisplayResult(wordCountTasks As Task())
End Sub
End Module
' The example displays output like the following:
' chapter2.txt 1,585 words
' chapter1.txt 4,012 words
' chapter5.txt 4,660 words
' chapter3.txt 7,481 words
'
' 4 files 17738 total words
'
' 1 tasks failed for the following reasons:
' File not found: 1
A chamada ao método da Task.Wait tarefa de continuação não lhe permite lidar com exceções lançadas pelas tarefas antecedentes, pelo que o exemplo examina a Task.Status propriedade de cada tarefa antecedente para determinar se a tarefa teve sucesso.
Observações
O ContinueWhenAll método executa o continuationAction delegado quando todas as tarefas do tasks array estão concluídas, independentemente do seu estado de conclusão.
Exceções lançadas por tarefas no tasks array não estão disponíveis para a tarefa de continuação através do tratamento estruturado de exceções. Pode determinar quais as exceções lançadas examinando a Task.Exception propriedade de cada tarefa no tasks array. Para usar o tratamento estruturado de exceções para lidar com exceções lançadas por tarefas no tasks array, chame o Task.WaitAll(Task[]) método.
Ver também
Aplica-se a
ContinueWhenAll(Task[], Action<Task[]>, CancellationToken)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
public:
System::Threading::Tasks::Task ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<cli::array <System::Threading::Tasks::Task ^> ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task ContinueWhenAll(System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task[]> continuationAction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAll : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task[]> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function ContinueWhenAll (tasks As Task(), continuationAction As Action(Of Task()), cancellationToken As CancellationToken) As Task
Parâmetros
- tasks
- Task[]
A variedade de tarefas a partir das quais continuar.
A ação delega para executar quando todas as tarefas do tasks array estiverem concluídas.
- cancellationToken
- CancellationToken
O token de cancelamento a atribuir à nova tarefa de continuação.
Devoluções
A nova tarefa de continuação.
Exceções
Um elemento do tasks array foi eliminado.
-ou-
O CancellationTokenSource que foi criado cancellationToken já foi eliminado.
O tasks array está vazio ou contém um valor nulo.
Exemplos
O exemplo seguinte cria um token de cancelamento, que passa para tarefas separadas que utilizam uma expressão regular para contar o número de palavras num conjunto de ficheiros de texto. O token de cancelamento é definido se não for possível encontrar um ficheiro. O ContinueWhenAll(Task[], Action{Task[]}, CancellationToken) método é usado para lançar uma tarefa que mostra a contagem total de palavras quando todas as tarefas antecedentes foram concluídas. Se o token de cancelamento estiver definido, o que indica que uma ou mais tarefas foram canceladas, ele trata da AggregateException exceção e apresenta uma mensagem de erro.
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string[] filenames = { "chapter1.txt", "chapter2.txt",
"chapter3.txt", "chapter4.txt",
"chapter5.txt" };
string pattern = @"\b\w+\b";
var tasks = new List<Task>();
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken token = source.Token;
int totalWords = 0;
// Determine the number of words in each file.
foreach (var filename in filenames)
tasks.Add( Task.Factory.StartNew( fn => { token.ThrowIfCancellationRequested();
if (!File.Exists(fn.ToString())) {
source.Cancel();
token.ThrowIfCancellationRequested();
}
StreamReader sr = new StreamReader(fn.ToString());
String content = sr.ReadToEnd();
sr.Close();
int words = Regex.Matches(content, pattern).Count;
Interlocked.Add(ref totalWords, words);
Console.WriteLine("{0,-25} {1,6:N0} words", fn, words); },
filename, token));
var finalTask = Task.Factory.ContinueWhenAll(tasks.ToArray(), wordCountTasks => {
if (!token.IsCancellationRequested)
Console.WriteLine("\n{0,-25} {1,6} total words\n",
String.Format("{0} files", wordCountTasks.Length),
totalWords);
}, token);
try {
finalTask.Wait();
}
catch (AggregateException ae) {
foreach (Exception inner in ae.InnerExceptions)
if (inner is TaskCanceledException)
Console.WriteLine("\nFailure to determine total word count: a task was cancelled.");
else
Console.WriteLine("\nFailure caused by {0}", inner.GetType().Name);
}
finally {
source.Dispose();
}
}
}
// The example displays output like the following:
// chapter2.txt 1,585 words
// chapter1.txt 4,012 words
//
// Failure to determine total word count: a task was cancelled.
Imports System.Collections.Generic
Imports System.IO
Imports System.Threading
Imports System.Threading.Tasks
Imports System.Text.RegularExpressions
Module Example
Public Sub Main()
Dim filenames() As String= { "chapter1.txt", "chapter2.txt",
"chapter3.txt", "chapter4.txt",
"chapter5.txt" }
Dim pattern As String = "\b\w+\b"
Dim tasks As New List(Of Task)()
Dim source As New CancellationTokenSource()
Dim token As CancellationToken = source.Token
Dim totalWords As Integer = 0
' Determine the number of words in each file.
For Each filename In filenames
tasks.Add( Task.Factory.StartNew( Sub(obj As Object)
Dim fn As String = CStr(obj)
token.ThrowIfCancellationRequested()
If Not File.Exists(fn) Then
source.Cancel()
token.ThrowIfCancellationRequested()
End If
Dim sr As New StreamReader(fn.ToString())
Dim content As String = sr.ReadToEnd()
sr.Close()
Dim words As Integer = Regex.Matches(content, pattern).Count
Interlocked.Add(totalWords, words)
Console.WriteLine("{0,-25} {1,6:N0} words", fn, words)
End Sub, filename, token))
Next
Dim finalTask As Task = Task.Factory.ContinueWhenAll(tasks.ToArray(),
Sub(wordCountTasks As Task())
If Not token.IsCancellationRequested Then
Console.WriteLine("\n{0,-25} {1,6} total words\n",
String.Format("{0} files", wordCountTasks.Length),
totalWords)
End If
End Sub, token)
Try
finalTask.Wait()
Catch ae As AggregateException
For Each inner In ae.InnerExceptions
Console.WriteLine()
If TypeOf inner Is TaskCanceledException
Console.WriteLine("Failure to determine total word count: a task was cancelled.")
Else
Console.WriteLine("Failure caused by {0}", inner.GetType().Name)
End If
Next
Finally
source.Dispose()
End Try
End Sub
End Module
' The example displays output like the following:
' chapter2.txt 1,585 words
' chapter1.txt 4,012 words
'
' Failure to determine total word count: a task was cancelled.
Observações
Este método executa o delegado continuationAction quando todas as tarefas no tasks array estão concluídas, independentemente do seu estado de conclusão.
Ver também
Aplica-se a
ContinueWhenAll(Task[], Action<Task[]>, TaskContinuationOptions)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
public:
System::Threading::Tasks::Task ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<cli::array <System::Threading::Tasks::Task ^> ^> ^ continuationAction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task ContinueWhenAll(System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task[]> continuationAction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAll : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task[]> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task
Public Function ContinueWhenAll (tasks As Task(), continuationAction As Action(Of Task()), continuationOptions As TaskContinuationOptions) As Task
Parâmetros
- tasks
- Task[]
A variedade de tarefas a partir das quais continuar.
A ação delega para executar quando todas as tarefas do tasks array estiverem concluídas.
- continuationOptions
- TaskContinuationOptions
Uma combinação bit a bit dos valores de enumeração que controlam o comportamento da nova tarefa de continuação. Os membros do NotOn* e do OnlyOn* não são suportados.
Devoluções
A nova tarefa de continuação.
Exceções
Um elemento do tasks array foi eliminado.
O continuationOptions argumento especifica um valor inválido.
O tasks array está vazio ou contém um valor nulo.
Observações
Os NotOn* e OnlyOn* TaskContinuationOptions, que restringem para quais TaskStatus estados de continuação será executada, são ilegais com ContinueWhenAll.
Ver também
Aplica-se a
ContinueWhenAll(Task[], Action<Task[]>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
public:
System::Threading::Tasks::Task ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<cli::array <System::Threading::Tasks::Task ^> ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task ContinueWhenAll(System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task[]> continuationAction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAll : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task[]> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task
Public Function ContinueWhenAll (tasks As Task(), continuationAction As Action(Of Task()), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task
Parâmetros
- tasks
- Task[]
A variedade de tarefas a partir das quais continuar.
A ação delega para executar quando todas as tarefas do tasks array estiverem concluídas.
- cancellationToken
- CancellationToken
O token de cancelamento a atribuir à nova tarefa de continuação.
- continuationOptions
- TaskContinuationOptions
Uma combinação bit a bit dos valores de enumeração que controlam o comportamento da nova tarefa de continuação.
- scheduler
- TaskScheduler
O objeto que é usado para agendar a nova tarefa de continuação.
Devoluções
A nova tarefa de continuação.
Exceções
O tasks array é null.
-ou-
O continuationAction argumento é null.
-ou-
O scheduler argumento é null.
O tasks array está vazio ou contém um valor nulo.
continuationOptions especifica um valor inválido TaskContinuationOptions .
O fornecido CancellationToken já foi descartado.
Observações
Os NotOn* e OnlyOn* TaskContinuationOptions, que restringem para quais TaskStatus estados de continuação será executada, são ilegais com ContinueWhenAll.
Ver também
Aplica-se a
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
public:
generic <typename TAntecedentResult, typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TAntecedentResult,TResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>[],TResult> continuationFunction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAll : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>[], 'Result> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAll(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult)(), TResult), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task(Of TResult)
Parâmetros de Tipo Genérico
- TAntecedentResult
O tipo do resultado do antecedente tasks.
- TResult
O tipo do resultado que é devolvido pelo continuationFunction delegado e associado à tarefa criada.
Parâmetros
- tasks
- Task<TAntecedentResult>[]
A variedade de tarefas a partir das quais continuar.
A função delega para executar assíncronamente quando todas as tarefas do tasks array estiverem concluídas.
- cancellationToken
- CancellationToken
O token de cancelamento a atribuir à nova tarefa de continuação.
- continuationOptions
- TaskContinuationOptions
Uma combinação bit a bit dos valores de enumeração que controlam o comportamento da nova tarefa de continuação. Os membros do NotOn* e do OnlyOn* não são suportados.
- scheduler
- TaskScheduler
O objeto que é usado para agendar a nova tarefa de continuação.
Devoluções
A nova tarefa de continuação.
Exceções
O tasks array é null.
-ou-
O continuationFunction argumento é null.
-ou-
O scheduler argumento é null.
O tasks array está vazio ou contém um valor nulo.
O continuationOptions argumento especifica um valor inválido.
Um elemento do tasks array foi eliminado.
-ou-
O CancellationTokenSource que foi criado cancellationToken já foi eliminado.
Observações
Os NotOn* e OnlyOn* TaskContinuationOptions, que restringem para quais TaskStatus estados de continuação será executada, são ilegais com ContinueWhenAll.
Ver também
- Biblioteca paralela de tarefas (TPL)
- Encadeamento de Tarefas Usando Tarefas de Continuação
- Cancelamento de Tarefas
Aplica-se a
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, TaskContinuationOptions)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
public:
generic <typename TAntecedentResult, typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^, TResult> ^ continuationFunction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TAntecedentResult,TResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>[],TResult> continuationFunction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAll : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>[], 'Result> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAll(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult)(), TResult), continuationOptions As TaskContinuationOptions) As Task(Of TResult)
Parâmetros de Tipo Genérico
- TAntecedentResult
O tipo do resultado do antecedente tasks.
- TResult
O tipo do resultado que é devolvido pelo continuationFunction delegado e associado à tarefa criada.
Parâmetros
- tasks
- Task<TAntecedentResult>[]
A variedade de tarefas a partir das quais continuar.
A função delega para executar assíncronamente quando todas as tarefas do tasks array estiverem concluídas.
- continuationOptions
- TaskContinuationOptions
Uma combinação bit a bit dos valores de enumeração que controlam o comportamento da nova tarefa de continuação. Os membros do NotOn* e do OnlyOn* não são suportados.
Devoluções
A nova tarefa de continuação.
Exceções
Um elemento do tasks array foi eliminado.
O continuationOptions argumento especifica um valor inválido.
O tasks array está vazio ou contém um valor nulo.
Observações
Os NotOn* e OnlyOn* TaskContinuationOptions, que restringem para quais TaskStatus estados de continuação será executada, são ilegais com ContinueWhenAll.
Ver também
- Biblioteca paralela de tarefas (TPL)
- Encadeamento de Tarefas Usando Tarefas de Continuação
- Cancelamento de Tarefas
Aplica-se a
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, CancellationToken)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
public:
generic <typename TAntecedentResult, typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TAntecedentResult,TResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>[],TResult> continuationFunction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAll : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>[], 'Result> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAll(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult)(), TResult), cancellationToken As CancellationToken) As Task(Of TResult)
Parâmetros de Tipo Genérico
- TAntecedentResult
O tipo do resultado do antecedente tasks.
- TResult
O tipo do resultado que é devolvido pelo continuationFunction delegado e associado à tarefa criada.
Parâmetros
- tasks
- Task<TAntecedentResult>[]
A variedade de tarefas a partir das quais continuar.
A função delega para executar assíncronamente quando todas as tarefas do tasks array estiverem concluídas.
- cancellationToken
- CancellationToken
O token de cancelamento a atribuir à nova tarefa de continuação.
Devoluções
A nova tarefa de continuação.
Exceções
Um elemento do tasks array foi eliminado.
-ou-
O CancellationTokenSource que foi criado cancellationToken já foi eliminado.
O tasks array está vazio ou contém um valor nulo.
Ver também
- Biblioteca paralela de tarefas (TPL)
- Encadeamento de Tarefas Usando Tarefas de Continuação
- Cancelamento de Tarefas
Aplica-se a
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
public:
generic <typename TAntecedentResult, typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^, TResult> ^ continuationFunction);
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TAntecedentResult,TResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>[],TResult> continuationFunction);
member this.ContinueWhenAll : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>[], 'Result> -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAll(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult)(), TResult)) As Task(Of TResult)
Parâmetros de Tipo Genérico
- TAntecedentResult
O tipo do resultado do antecedente tasks.
- TResult
O tipo do resultado que é devolvido pelo continuationFunction delegado e associado à tarefa criada.
Parâmetros
- tasks
- Task<TAntecedentResult>[]
A variedade de tarefas a partir das quais continuar.
A função delega para executar assíncronamente quando todas as tarefas do tasks array estiverem concluídas.
Devoluções
A nova tarefa de continuação.
Exceções
Um elemento do tasks array foi eliminado.
O tasks array está vazio ou contém um valor nulo.
Ver também
- Biblioteca paralela de tarefas (TPL)
- Encadeamento de Tarefas Usando Tarefas de Continuação
- Cancelamento de Tarefas
Aplica-se a
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
public:
generic <typename TAntecedentResult>
System::Threading::Tasks::Task ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task ContinueWhenAll<TAntecedentResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>[]> continuationAction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAll : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>[]> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task
Public Function ContinueWhenAll(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationAction As Action(Of Task(Of TAntecedentResult)()), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task
Parâmetros de Tipo Genérico
- TAntecedentResult
O tipo do resultado do antecedente tasks.
Parâmetros
- tasks
- Task<TAntecedentResult>[]
A variedade de tarefas a partir das quais continuar.
A ação delega para executar quando todas as tarefas do tasks array estiverem concluídas.
- cancellationToken
- CancellationToken
O token de cancelamento a atribuir à nova tarefa de continuação.
- continuationOptions
- TaskContinuationOptions
Uma combinação bit a bit dos valores de enumeração que controlam o comportamento da nova tarefa de continuação. Os membros do NotOn* e do OnlyOn* não são suportados.
- scheduler
- TaskScheduler
O objeto que é usado para agendar a nova tarefa de continuação.
Devoluções
A nova tarefa de continuação.
Exceções
O tasks array é null.
-ou-
O continuationAction argumento é null.
-ou-
O scheduler argumento é null.
O tasks array está vazio ou contém um valor nulo.
continuationOptions especifica um valor inválido TaskContinuationOptions .
O fornecido CancellationToken já foi descartado.
Observações
Os NotOn* e OnlyOn* TaskContinuationOptions, que restringem para quais TaskStatus estados de continuação será executada, são ilegais com ContinueWhenAll.
Ver também
- Biblioteca paralela de tarefas (TPL)
- Encadeamento de Tarefas Usando Tarefas de Continuação
- Cancelamento de Tarefas
Aplica-se a
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, TaskContinuationOptions)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
public:
generic <typename TAntecedentResult>
System::Threading::Tasks::Task ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^> ^ continuationAction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task ContinueWhenAll<TAntecedentResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>[]> continuationAction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAll : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>[]> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task
Public Function ContinueWhenAll(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationAction As Action(Of Task(Of TAntecedentResult)()), continuationOptions As TaskContinuationOptions) As Task
Parâmetros de Tipo Genérico
- TAntecedentResult
O tipo do resultado do antecedente tasks.
Parâmetros
- tasks
- Task<TAntecedentResult>[]
A variedade de tarefas a partir das quais continuar.
A ação delega para executar quando todas as tarefas do tasks array estiverem concluídas.
- continuationOptions
- TaskContinuationOptions
Uma combinação bit a bit dos valores de enumeração que controlam o comportamento da nova tarefa de continuação. Os membros do NotOn* e do OnlyOn* não são suportados.
Devoluções
A nova tarefa de continuação.
Exceções
Um elemento do tasks array foi eliminado.
O continuationOptions argumento especifica um valor inválido.
O tasks array está vazio ou contém um valor nulo.
Observações
Os NotOn* e OnlyOn* TaskContinuationOptions, que restringem para quais TaskStatus estados de continuação será executada, são ilegais com ContinueWhenAll.
Ver também
- Biblioteca paralela de tarefas (TPL)
- Encadeamento de Tarefas Usando Tarefas de Continuação
- Cancelamento de Tarefas
Aplica-se a
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, CancellationToken)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
public:
generic <typename TAntecedentResult>
System::Threading::Tasks::Task ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task ContinueWhenAll<TAntecedentResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>[]> continuationAction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAll : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>[]> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function ContinueWhenAll(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationAction As Action(Of Task(Of TAntecedentResult)()), cancellationToken As CancellationToken) As Task
Parâmetros de Tipo Genérico
- TAntecedentResult
O tipo do resultado do antecedente tasks.
Parâmetros
- tasks
- Task<TAntecedentResult>[]
A variedade de tarefas a partir das quais continuar.
A ação delega para executar quando todas as tarefas do tasks array estiverem concluídas.
- cancellationToken
- CancellationToken
O token de cancelamento a atribuir à nova tarefa de continuação.
Devoluções
A nova tarefa de continuação.
Exceções
Um elemento do tasks array foi eliminado.
-ou-
O CancellationTokenSource que foi criado cancellationToken já foi eliminado.
O tasks array está vazio ou contém um valor nulo.
Ver também
- Biblioteca paralela de tarefas (TPL)
- Encadeamento de Tarefas Usando Tarefas de Continuação
- Cancelamento de Tarefas
Aplica-se a
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
public:
generic <typename TAntecedentResult>
System::Threading::Tasks::Task ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^> ^ continuationAction);
public System.Threading.Tasks.Task ContinueWhenAll<TAntecedentResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>[]> continuationAction);
member this.ContinueWhenAll : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>[]> -> System.Threading.Tasks.Task
Public Function ContinueWhenAll(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationAction As Action(Of Task(Of TAntecedentResult)())) As Task
Parâmetros de Tipo Genérico
- TAntecedentResult
O tipo do resultado do antecedente tasks.
Parâmetros
- tasks
- Task<TAntecedentResult>[]
A variedade de tarefas a partir das quais continuar.
A ação delega para executar quando todas as tarefas do tasks array estiverem concluídas.
Devoluções
A nova tarefa de continuação.
Exceções
Um elemento do tasks array foi eliminado.
O tasks array está vazio ou contém um valor nulo.
Ver também
- Biblioteca paralela de tarefas (TPL)
- Encadeamento de Tarefas Usando Tarefas de Continuação
- Cancelamento de Tarefas
Aplica-se a
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
public:
generic <typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<cli::array <System::Threading::Tasks::Task ^> ^, TResult> ^ continuationFunction);
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TResult>(System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task[],TResult> continuationFunction);
member this.ContinueWhenAll : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task[], 'Result> -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAll(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task(), TResult)) As Task(Of TResult)
Parâmetros de Tipo Genérico
- TResult
O tipo do resultado que é devolvido pelo continuationFunction delegado e associado à tarefa criada.
Parâmetros
- tasks
- Task[]
A variedade de tarefas a partir das quais continuar.
A função delega para executar assíncronamente quando todas as tarefas do tasks array estiverem concluídas.
Devoluções
A nova tarefa de continuação.
Exceções
Um elemento do tasks array foi eliminado.
O tasks array está vazio ou contém um valor nulo.
Ver também
Aplica-se a
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, CancellationToken)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
public:
generic <typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<cli::array <System::Threading::Tasks::Task ^> ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TResult>(System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task[],TResult> continuationFunction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAll : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task[], 'Result> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAll(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task(), TResult), cancellationToken As CancellationToken) As Task(Of TResult)
Parâmetros de Tipo Genérico
- TResult
O tipo do resultado que é devolvido pelo continuationFunction delegado e associado à tarefa criada.
Parâmetros
- tasks
- Task[]
A variedade de tarefas a partir das quais continuar.
A função delega para executar assíncronamente quando todas as tarefas do tasks array estiverem concluídas.
- cancellationToken
- CancellationToken
O token de cancelamento a atribuir à nova tarefa de continuação.
Devoluções
A nova tarefa de continuação.
Exceções
Um elemento do tasks array foi eliminado.
-ou-
O CancellationTokenSource que foi criado cancellationToken já foi eliminado.
O tasks array está vazio ou contém um valor nulo.
Ver também
- Biblioteca paralela de tarefas (TPL)
- Encadeamento de Tarefas Usando Tarefas de Continuação
- Cancelamento de Tarefas
Aplica-se a
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, TaskContinuationOptions)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
public:
generic <typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<cli::array <System::Threading::Tasks::Task ^> ^, TResult> ^ continuationFunction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TResult>(System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task[],TResult> continuationFunction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAll : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task[], 'Result> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAll(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task(), TResult), continuationOptions As TaskContinuationOptions) As Task(Of TResult)
Parâmetros de Tipo Genérico
- TResult
O tipo do resultado que é devolvido pelo continuationFunction delegado e associado à tarefa criada.
Parâmetros
- tasks
- Task[]
A variedade de tarefas a partir das quais continuar.
A função delega para executar assíncronamente quando todas as tarefas do tasks array estiverem concluídas.
- continuationOptions
- TaskContinuationOptions
Uma combinação bit a bit dos valores de enumeração que controlam o comportamento da nova tarefa de continuação. Os membros do NotOn* e do OnlyOn* não são suportados.
Devoluções
A nova tarefa de continuação.
Exceções
Um elemento do tasks array foi eliminado.
O continuationOptions argumento especifica um valor inválido.
O tasks array está vazio ou contém um valor nulo.
Observações
Os NotOn* e OnlyOn* TaskContinuationOptions, que restringem para quais TaskStatus estados de continuação será executada, são ilegais com ContinueWhenAll.
Ver também
- Biblioteca paralela de tarefas (TPL)
- Encadeamento de Tarefas Usando Tarefas de Continuação
- Cancelamento de Tarefas
Aplica-se a
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas é concluído.
public:
generic <typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<cli::array <System::Threading::Tasks::Task ^> ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TResult>(System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task[],TResult> continuationFunction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAll : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task[], 'Result> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAll(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task(), TResult), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task(Of TResult)
Parâmetros de Tipo Genérico
- TResult
O tipo do resultado que é devolvido pelo continuationFunction delegado e associado à tarefa criada.
Parâmetros
- tasks
- Task[]
A variedade de tarefas a partir das quais continuar.
A função delega para executar assíncronamente quando todas as tarefas do tasks array estiverem concluídas.
- cancellationToken
- CancellationToken
O token de cancelamento a atribuir à nova tarefa de continuação.
- continuationOptions
- TaskContinuationOptions
Uma combinação bit a bit dos valores de enumeração que controlam o comportamento da nova tarefa de continuação. Os membros do NotOn* e do OnlyOn* não são suportados.
- scheduler
- TaskScheduler
O objeto que é usado para agendar a nova tarefa de continuação.
Devoluções
A nova tarefa de continuação.
Exceções
O tasks array é null.
-ou-
O continuationFunction argumento é null.
-ou-
O scheduler argumento é null.
O tasks array está vazio ou contém um valor nulo.
continuationOptions especifica um valor inválido TaskContinuationOptions .
O fornecido CancellationToken já foi descartado.
Observações
Os NotOn* e OnlyOn* TaskContinuationOptions, que restringem para quais TaskStatus estados de continuação será executada, são ilegais com ContinueWhenAll.
Ver também
- Biblioteca paralela de tarefas (TPL)
- Encadeamento de Tarefas Usando Tarefas de Continuação
- Cancelamento de Tarefas