TaskFactory.ContinueWhenAll Método
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas foi concluído.
ContinueWhenAll(Task[], Action<Task[]>) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas foi concluído. |
ContinueWhenAll(Task[], Action<Task[]>, CancellationToken) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas foi concluído. |
ContinueWhenAll(Task[], Action<Task[]>, TaskContinuationOptions) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas foi concluído. |
ContinueWhenAll(Task[], Action<Task[]>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas foi 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 foi 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 foi 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 foi 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 foi 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 foi 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 foi 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 foi concluído. |
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas foi concluído. |
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas foi concluído. |
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, CancellationToken) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas foi concluído. |
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, TaskContinuationOptions) |
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas foi 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 foi concluído. |
ContinueWhenAll(Task[], Action<Task[]>)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas foi 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 matriz de tarefas da qual continuar.
O delegado de ação a ser executado quando todas as tarefas na matriz do tasks
estiverem concluídas.
Retornos
A nova tarefa de continuação.
Exceções
Um elemento na matriz do tasks
foi descartado.
A matriz do tasks
está vazia ou contém um valor nulo.
Exemplos
O exemplo a seguir inicia tarefas separadas que usam uma expressão regular para contar o número de palavras em um conjunto de arquivos de texto. O ContinueWhenAll método é usado para iniciar uma tarefa que exibe a contagem total de palavras quando todas as tarefas antecedentes são 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 para o método da tarefa de Task.Wait continuação não permite que ela trate exceções geradas pelas tarefas anteriores, portanto, o exemplo examina a Task.Status propriedade de cada tarefa anterior para determinar se a tarefa foi bem-sucedida.
Comentários
O ContinueWhenAll método executa o continuationAction
delegado quando todas as tarefas na tasks
matriz são concluídas, independentemente de seu status de conclusão.
As exceções geradas por tarefas na tasks
matriz não estão disponíveis para a tarefa de continuação por meio do tratamento de exceções estruturados. Você pode determinar quais exceções foram geradas examinando a Task.Exception propriedade de cada tarefa na tasks
matriz. Para usar o tratamento de exceções estruturadas para lidar com exceções geradas por tarefas na tasks
matriz, chame o Task.WaitAll(Task[]) método.
Confira 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 foi 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 matriz de tarefas da qual continuar.
O delegado de ação a ser executado quando todas as tarefas na matriz do tasks
estiverem concluídas.
- cancellationToken
- CancellationToken
O token de cancelamento a ser atribuído à nova tarefa de continuação.
Retornos
A nova tarefa de continuação.
Exceções
Um elemento na matriz do tasks
foi descartado.
- ou -
O CancellationTokenSource que criou cancellationToken
já foi descartado.
A matriz do tasks
está vazia ou contém um valor nulo.
Exemplos
O exemplo a seguir cria um token de cancelamento, que passa para tarefas separadas que usam uma expressão regular para contar o número de palavras em um conjunto de arquivos de texto. O token de cancelamento será definido se um arquivo não puder ser encontrado. O ContinueWhenAll(Task[], Action{Task[]}, CancellationToken)
método é usado para iniciar uma tarefa que exibe a contagem total de palavras quando todas as tarefas precedentes são concluídas. Se o token de cancelamento estiver definido, o que indica que uma ou mais tarefas foram canceladas, ele manipulará a AggregateException exceção e exibirá 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.
Comentários
Esse método executa o continuationAction
delegado quando todas as tarefas na tasks
matriz são concluídas, independentemente do status de conclusão.
Confira 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 foi 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 matriz de tarefas da qual continuar.
O delegado de ação a ser executado quando todas as tarefas na matriz do tasks
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. Não há suporte para os membros NotOn* e OnlyOn*.
Retornos
A nova tarefa de continuação.
Exceções
Um elemento na matriz do tasks
foi descartado.
O argumento continuationOptions
especifica um valor inválido.
A matriz do tasks
está vazia ou contém um valor nulo.
Comentários
O NotOn* e o OnlyOn* TaskContinuationOptions, que restringem para os quais TaskStatus estados uma continuação será executada, são ilegais com ContinueWhenAll
.
Confira 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 foi 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 matriz de tarefas da qual continuar.
O delegado de ação a ser executado quando todas as tarefas na matriz do tasks
estiverem concluídas.
- cancellationToken
- CancellationToken
O token de cancelamento a ser atribuído à 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.
Retornos
A nova tarefa de continuação.
Exceções
A matriz do tasks
é null
.
- ou -
O argumento continuationAction
é null
.
- ou -
O argumento scheduler
é null
.
A matriz do tasks
está vazia ou contém um valor nulo.
continuationOptions
especifica um valor TaskContinuationOptions inválido.
O CancellationToken fornecido já foi descartado.
Comentários
O NotOn* e o OnlyOn* TaskContinuationOptions, que restringem para os quais TaskStatus estados uma continuação será executada, são ilegais com ContinueWhenAll
.
Confira 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 foi 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
- TAntecedentResult
O tipo do resultado do antecedente tasks
.
- TResult
O tipo do resultado retornado pelo continuationFunction
delegado e associado à tarefa criada.
Parâmetros
- tasks
- Task<TAntecedentResult>[]
A matriz de tarefas da qual continuar.
O delegado de função a ser executado de forma assíncrona quando todas as tarefas na matriz tasks
forem concluídas.
- cancellationToken
- CancellationToken
O token de cancelamento a ser atribuído à 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. Não há suporte para os membros NotOn* e OnlyOn*.
- scheduler
- TaskScheduler
O objeto que é usado para agendar a nova tarefa de continuação.
Retornos
A nova tarefa de continuação.
Exceções
A matriz do tasks
é null
.
- ou -
O argumento continuationFunction
é null
.
- ou -
O argumento scheduler
é null
.
A matriz do tasks
está vazia ou contém um valor nulo.
O argumento continuationOptions
especifica um valor inválido.
Um elemento na matriz do tasks
foi descartado.
- ou -
O CancellationTokenSource que criou cancellationToken
já foi descartado.
Comentários
O NotOn* e o OnlyOn*TaskContinuationOptions, que restringem para os quais TaskStatus estados uma continuação será executada, são ilegais com ContinueWhenAll
.
Confira também
- Biblioteca de tarefas paralelas (TPL)
- Encadeando tarefas com tarefas de continuação
- Cancelamento da tarefa
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 foi 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
- TAntecedentResult
O tipo do resultado do antecedente tasks
.
- TResult
O tipo do resultado retornado pelo continuationFunction
delegado e associado à tarefa criada.
Parâmetros
- tasks
- Task<TAntecedentResult>[]
A matriz de tarefas da qual continuar.
O delegado de função a ser executado de forma assíncrona quando todas as tarefas na matriz tasks
forem 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. Não há suporte para os membros NotOn* e OnlyOn*.
Retornos
A nova tarefa de continuação.
Exceções
Um elemento na matriz do tasks
foi descartado.
O argumento continuationOptions
especifica um valor inválido.
A matriz do tasks
está vazia ou contém um valor nulo.
Comentários
O NotOn* e o OnlyOn*TaskContinuationOptions, que restringem para os quais TaskStatus estados uma continuação será executada, são ilegais com ContinueWhenAll
.
Confira também
- Biblioteca de tarefas paralelas (TPL)
- Encadeando tarefas com tarefas de continuação
- Cancelamento da tarefa
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 foi 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
- TAntecedentResult
O tipo do resultado do antecedente tasks
.
- TResult
O tipo do resultado retornado pelo continuationFunction
delegado e associado à tarefa criada.
Parâmetros
- tasks
- Task<TAntecedentResult>[]
A matriz de tarefas da qual continuar.
O delegado de função a ser executado de forma assíncrona quando todas as tarefas na matriz tasks
forem concluídas.
- cancellationToken
- CancellationToken
O token de cancelamento a ser atribuído à nova tarefa de continuação.
Retornos
A nova tarefa de continuação.
Exceções
Um elemento na matriz do tasks
foi descartado.
- ou -
O CancellationTokenSource que criou cancellationToken
já foi descartado.
A matriz do tasks
está vazia ou contém um valor nulo.
Confira também
- Biblioteca de tarefas paralelas (TPL)
- Encadeando tarefas com tarefas de continuação
- Cancelamento da tarefa
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 foi 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
- TAntecedentResult
O tipo do resultado do antecedente tasks
.
- TResult
O tipo do resultado retornado pelo continuationFunction
delegado e associado à tarefa criada.
Parâmetros
- tasks
- Task<TAntecedentResult>[]
A matriz de tarefas da qual continuar.
O delegado de função a ser executado de forma assíncrona quando todas as tarefas na matriz tasks
forem concluídas.
Retornos
A nova tarefa de continuação.
Exceções
Um elemento na matriz do tasks
foi descartado.
A matriz do tasks
está vazia ou contém um valor nulo.
Confira também
- Biblioteca de tarefas paralelas (TPL)
- Encadeando tarefas com tarefas de continuação
- Cancelamento da tarefa
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 foi 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
- TAntecedentResult
O tipo do resultado do antecedente tasks
.
Parâmetros
- tasks
- Task<TAntecedentResult>[]
A matriz de tarefas da qual continuar.
O delegado de ação a ser executado quando todas as tarefas na matriz do tasks
estiverem concluídas.
- cancellationToken
- CancellationToken
O token de cancelamento a ser atribuído à 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. Não há suporte para os membros NotOn* e OnlyOn*.
- scheduler
- TaskScheduler
O objeto que é usado para agendar a nova tarefa de continuação.
Retornos
A nova tarefa de continuação.
Exceções
A matriz do tasks
é null
.
- ou -
O argumento continuationAction
é null
.
- ou -
O argumento scheduler
é null
.
A matriz do tasks
está vazia ou contém um valor nulo.
continuationOptions
especifica um valor TaskContinuationOptions inválido.
O CancellationToken fornecido já foi descartado.
Comentários
O NotOn* e o OnlyOn* TaskContinuationOptions, que restringem para os quais TaskStatus estados uma continuação será executada, são ilegais com ContinueWhenAll
.
Confira também
- Biblioteca de tarefas paralelas (TPL)
- Encadeando tarefas com tarefas de continuação
- Cancelamento da tarefa
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 foi 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
- TAntecedentResult
O tipo do resultado do antecedente tasks
.
Parâmetros
- tasks
- Task<TAntecedentResult>[]
A matriz de tarefas da qual continuar.
O delegado de ação a ser executado quando todas as tarefas na matriz do tasks
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. Não há suporte para os membros NotOn* e OnlyOn*.
Retornos
A nova tarefa de continuação.
Exceções
Um elemento na matriz do tasks
foi descartado.
O argumento continuationOptions
especifica um valor inválido.
A matriz do tasks
está vazia ou contém um valor nulo.
Comentários
O NotOn* e o OnlyOn* TaskContinuationOptions, que restringem para os quais TaskStatus estados uma continuação será executada, são ilegais com ContinueWhenAll
.
Confira também
- Biblioteca de tarefas paralelas (TPL)
- Encadeando tarefas com tarefas de continuação
- Cancelamento da tarefa
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 foi 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
- TAntecedentResult
O tipo do resultado do antecedente tasks
.
Parâmetros
- tasks
- Task<TAntecedentResult>[]
A matriz de tarefas da qual continuar.
O delegado de ação a ser executado quando todas as tarefas na matriz do tasks
estiverem concluídas.
- cancellationToken
- CancellationToken
O token de cancelamento a ser atribuído à nova tarefa de continuação.
Retornos
A nova tarefa de continuação.
Exceções
Um elemento na matriz do tasks
foi descartado.
- ou -
O CancellationTokenSource que criou cancellationToken
já foi descartado.
A matriz do tasks
está vazia ou contém um valor nulo.
Confira também
- Biblioteca de tarefas paralelas (TPL)
- Encadeando tarefas com tarefas de continuação
- Cancelamento da tarefa
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 foi 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
- TAntecedentResult
O tipo do resultado do antecedente tasks
.
Parâmetros
- tasks
- Task<TAntecedentResult>[]
A matriz de tarefas da qual continuar.
O delegado de ação a ser executado quando todas as tarefas na matriz do tasks
estiverem concluídas.
Retornos
A nova tarefa de continuação.
Exceções
Um elemento na matriz do tasks
foi descartado.
A matriz do tasks
está vazia ou contém um valor nulo.
Confira também
- Biblioteca de tarefas paralelas (TPL)
- Encadeando tarefas com tarefas de continuação
- Cancelamento da tarefa
Aplica-se a
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>)
Cria uma tarefa de continuação que começa quando um conjunto de tarefas especificadas foi 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
- TResult
O tipo do resultado retornado pelo continuationFunction
delegado e associado à tarefa criada.
Parâmetros
- tasks
- Task[]
A matriz de tarefas da qual continuar.
O delegado de função a ser executado de forma assíncrona quando todas as tarefas na matriz tasks
forem concluídas.
Retornos
A nova tarefa de continuação.
Exceções
Um elemento na matriz do tasks
foi descartado.
A matriz do tasks
está vazia ou contém um valor nulo.
Confira 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 foi 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
- TResult
O tipo do resultado retornado pelo continuationFunction
delegado e associado à tarefa criada.
Parâmetros
- tasks
- Task[]
A matriz de tarefas da qual continuar.
O delegado de função a ser executado de forma assíncrona quando todas as tarefas na matriz tasks
forem concluídas.
- cancellationToken
- CancellationToken
O token de cancelamento a ser atribuído à nova tarefa de continuação.
Retornos
A nova tarefa de continuação.
Exceções
Um elemento na matriz do tasks
foi descartado.
- ou -
O CancellationTokenSource que criou cancellationToken
já foi descartado.
A matriz do tasks
está vazia ou contém um valor nulo.
Confira também
- Biblioteca de tarefas paralelas (TPL)
- Encadeando tarefas com tarefas de continuação
- Cancelamento da tarefa
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 foi 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
- TResult
O tipo do resultado retornado pelo continuationFunction
delegado e associado à tarefa criada.
Parâmetros
- tasks
- Task[]
A matriz de tarefas da qual continuar.
O delegado de função a ser executado de forma assíncrona quando todas as tarefas na matriz tasks
forem 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. Não há suporte para os membros NotOn* e OnlyOn*.
Retornos
A nova tarefa de continuação.
Exceções
Um elemento na matriz do tasks
foi descartado.
O argumento continuationOptions
especifica um valor inválido.
A matriz do tasks
está vazia ou contém um valor nulo.
Comentários
O NotOn* e o OnlyOn* TaskContinuationOptions, que restringem para os quais TaskStatus estados uma continuação será executada, são ilegais com ContinueWhenAll
.
Confira também
- Biblioteca de tarefas paralelas (TPL)
- Encadeando tarefas com tarefas de continuação
- Cancelamento da tarefa
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 foi 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
- TResult
O tipo do resultado retornado pelo continuationFunction
delegado e associado à tarefa criada.
Parâmetros
- tasks
- Task[]
A matriz de tarefas da qual continuar.
O delegado de função a ser executado de forma assíncrona quando todas as tarefas na matriz tasks
forem concluídas.
- cancellationToken
- CancellationToken
O token de cancelamento a ser atribuído à 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. Não há suporte para os membros NotOn* e OnlyOn*.
- scheduler
- TaskScheduler
O objeto que é usado para agendar a nova tarefa de continuação.
Retornos
A nova tarefa de continuação.
Exceções
A matriz do tasks
é null
.
- ou -
O argumento continuationFunction
é null
.
- ou -
O argumento scheduler
é null
.
A matriz do tasks
está vazia ou contém um valor nulo.
continuationOptions
especifica um valor TaskContinuationOptions inválido.
O CancellationToken fornecido já foi descartado.
Comentários
O NotOn* e o OnlyOn* TaskContinuationOptions, que restringem para os quais TaskStatus estados uma continuação será executada, são ilegais com ContinueWhenAll
.
Confira também
- Biblioteca de tarefas paralelas (TPL)
- Encadeando tarefas com tarefas de continuação
- Cancelamento da tarefa