TaskFactory.ContinueWhenAll Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
Overload
ContinueWhenAll(Task[], Action<Task[]>) |
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato. |
ContinueWhenAll(Task[], Action<Task[]>, CancellationToken) |
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato. |
ContinueWhenAll(Task[], Action<Task[]>, TaskContinuationOptions) |
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato. |
ContinueWhenAll(Task[], Action<Task[]>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato. |
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato. |
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, TaskContinuationOptions) |
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato. |
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, CancellationToken) |
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato. |
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>) |
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato. |
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato. |
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, TaskContinuationOptions) |
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato. |
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, CancellationToken) |
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato. |
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>) |
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato. |
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>) |
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato. |
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, CancellationToken) |
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato. |
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, TaskContinuationOptions) |
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato. |
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato. |
ContinueWhenAll(Task[], Action<Task[]>)
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
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
Parametri
- tasks
- Task[]
Matrice di attività da cui continuare.
Delegato dell'azione da eseguire quando tutte le attività nella matrice tasks
sono state completate.
Restituisce
Nuova attività di continuazione.
Eccezioni
Un elemento nella matrice tasks
è stato eliminato.
La matrice tasks
è null
.
-oppure-
Il valore dell'argomento continuationAction
è null
.
La matrice tasks
è vuota o contiene un valore null.
Esempio
L'esempio seguente avvia attività separate che usano un'espressione regolare per contare il numero di parole in un set di file di testo. Il ContinueWhenAll metodo viene usato per avviare un'attività che visualizza il conteggio totale delle parole quando tutte le attività precedenti sono state completate.
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
La chiamata al metodo dell'attività Task.Wait di continuazione non consente di gestire le eccezioni generate dalle attività precedenti, quindi l'esempio esamina la Task.Status proprietà di ogni attività precedente per determinare se l'attività ha avuto esito positivo.
Commenti
Il ContinueWhenAll metodo esegue il continuationAction
delegato quando tutte le attività della tasks
matrice sono state completate, indipendentemente dal relativo stato di completamento.
Le eccezioni generate dalle attività nella matrice non sono disponibili per l'attività tasks
di continuazione tramite la gestione delle eccezioni strutturate. È possibile determinare quali eccezioni sono state generate esaminando la Task.Exception proprietà di ogni attività nella tasks
matrice. Per usare la gestione delle eccezioni strutturate per gestire le eccezioni generate dalle attività nella tasks
matrice, chiamare il Task.WaitAll(Task[]) metodo .
Vedi anche
Si applica a
ContinueWhenAll(Task[], Action<Task[]>, CancellationToken)
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
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
Parametri
- tasks
- Task[]
Matrice di attività da cui continuare.
Delegato dell'azione da eseguire quando tutte le attività nella matrice tasks
sono state completate.
- cancellationToken
- CancellationToken
Token di annullamento da assegnare alla nuova attività di continuazione.
Restituisce
Nuova attività di continuazione.
Eccezioni
Un elemento nella matrice tasks
è stato eliminato.
-oppure-
L'oggetto CancellationTokenSource che ha creato cancellationToken
è già stato eliminato.
La matrice tasks
è null
.
-oppure-
Il valore dell'argomento continuationAction
è null
.
La matrice tasks
è vuota o contiene un valore null.
Esempio
Nell'esempio seguente viene creato un token di annullamento, che passa a attività separate che usano un'espressione regolare per contare il numero di parole in un set di file di testo. Il token di annullamento viene impostato se non è possibile trovare un file. Il ContinueWhenAll(Task[], Action{Task[]}, CancellationToken)
metodo viene usato per avviare un'attività che visualizza il conteggio totale delle parole quando tutte le attività precedenti sono state completate. Se il token di annullamento è impostato, che indica che una o più attività sono state annullate, gestisce l'eccezione AggregateException e visualizza un messaggio di errore.
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.
Commenti
Questo metodo esegue il continuationAction
delegato quando tutte le attività nella tasks
matrice sono state completate, indipendentemente dal relativo stato di completamento.
Vedi anche
Si applica a
ContinueWhenAll(Task[], Action<Task[]>, TaskContinuationOptions)
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
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
Parametri
- tasks
- Task[]
Matrice di attività da cui continuare.
Delegato dell'azione da eseguire quando tutte le attività nella matrice tasks
sono state completate.
- continuationOptions
- TaskContinuationOptions
Combinazione bit per bit dei valori di enumerazione che controllano il comportamento della nuova attività di continuazione. I membri NotOn* e OnlyOn* non sono supportati.
Restituisce
Nuova attività di continuazione.
Eccezioni
Un elemento nella matrice tasks
è stato eliminato.
La matrice tasks
è null
.
-oppure-
Il valore dell'argomento continuationAction
è null
.
L'argomento continuationOptions
specifica un valore non valido.
La matrice tasks
è vuota o contiene un valore null.
Commenti
NotOn* e OnlyOn TaskContinuationOptions* , che vincola per cui TaskStatus verrà eseguita una continuazione, sono illegali con ContinueWhenAll
.
Vedi anche
Si applica a
ContinueWhenAll(Task[], Action<Task[]>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
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
Parametri
- tasks
- Task[]
Matrice di attività da cui continuare.
Delegato dell'azione da eseguire quando tutte le attività nella matrice tasks
sono state completate.
- cancellationToken
- CancellationToken
Token di annullamento da assegnare alla nuova attività di continuazione.
- continuationOptions
- TaskContinuationOptions
Combinazione bit per bit dei valori di enumerazione che controllano il comportamento della nuova attività di continuazione.
- scheduler
- TaskScheduler
Oggetto usato per pianificare la nuova attività di continuazione.
Restituisce
Nuova attività di continuazione.
Eccezioni
La matrice tasks
è null
.
-oppure-
Il valore dell'argomento continuationAction
è null
.
-oppure-
Il valore dell'argomento scheduler
è null
.
La matrice tasks
è vuota o contiene un valore null.
continuationOptions
specifica un valore TaskContinuationOptions non valido.
Provider CancellationToken già eliminato.
Commenti
NotOn* e OnlyOn TaskContinuationOptions* , che vincola per cui TaskStatus verrà eseguita una continuazione, sono illegali con ContinueWhenAll
.
Vedi anche
Si applica a
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
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)
Parametri di tipo
- TAntecedentResult
Tipo del risultato degli oggetti tasks
precedenti.
- TResult
Tipo del risultato restituito dal delegato di continuationFunction
e associato all'attività creata.
Parametri
- tasks
- Task<TAntecedentResult>[]
Matrice di attività da cui continuare.
Delegato della funzione da eseguire in modo asincrono quando tutte le attività nella matrice tasks
sono state completate.
- cancellationToken
- CancellationToken
Token di annullamento da assegnare alla nuova attività di continuazione.
- continuationOptions
- TaskContinuationOptions
Combinazione bit per bit dei valori di enumerazione che controllano il comportamento della nuova attività di continuazione. I membri NotOn* e OnlyOn* non sono supportati.
- scheduler
- TaskScheduler
Oggetto usato per pianificare la nuova attività di continuazione.
Restituisce
Nuova attività di continuazione.
Eccezioni
La matrice tasks
è null
.
-oppure-
Il valore dell'argomento continuationFunction
è null
.
-oppure-
Il valore dell'argomento scheduler
è null
.
La matrice tasks
è vuota o contiene un valore null.
L'argomento continuationOptions
specifica un valore non valido.
Un elemento nella matrice tasks
è stato eliminato.
-oppure-
L'oggetto CancellationTokenSource che ha creato cancellationToken
è già stato eliminato.
Commenti
NotOn* e OnlyOn TaskContinuationOptions* , che vincola per cui TaskStatus verrà eseguita una continuazione, sono illegali con ContinueWhenAll
.
Vedi anche
- Task Parallel Library (TPL)
- Concatenamento di attività tramite attività di continuazione
- Annullamento delle attività
Si applica a
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, TaskContinuationOptions)
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
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)
Parametri di tipo
- TAntecedentResult
Tipo del risultato degli oggetti tasks
precedenti.
- TResult
Tipo del risultato restituito dal delegato di continuationFunction
e associato all'attività creata.
Parametri
- tasks
- Task<TAntecedentResult>[]
Matrice di attività da cui continuare.
Delegato della funzione da eseguire in modo asincrono quando tutte le attività nella matrice tasks
sono state completate.
- continuationOptions
- TaskContinuationOptions
Combinazione bit per bit dei valori di enumerazione che controllano il comportamento della nuova attività di continuazione. I membri NotOn* e OnlyOn* non sono supportati.
Restituisce
Nuova attività di continuazione.
Eccezioni
Un elemento nella matrice tasks
è stato eliminato.
La matrice tasks
è null
.
-oppure-
Il valore dell'argomento continuationFunction
è null
.
L'argomento continuationOptions
specifica un valore non valido.
La matrice tasks
è vuota o contiene un valore null.
Commenti
NotOn* e OnlyOn TaskContinuationOptions* , che vincola per cui TaskStatus verrà eseguita una continuazione, sono illegali con ContinueWhenAll
.
Vedi anche
- Task Parallel Library (TPL)
- Concatenamento di attività tramite attività di continuazione
- Annullamento delle attività
Si applica a
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, CancellationToken)
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
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)
Parametri di tipo
- TAntecedentResult
Tipo del risultato degli oggetti tasks
precedenti.
- TResult
Tipo del risultato restituito dal delegato di continuationFunction
e associato all'attività creata.
Parametri
- tasks
- Task<TAntecedentResult>[]
Matrice di attività da cui continuare.
Delegato della funzione da eseguire in modo asincrono quando tutte le attività nella matrice tasks
sono state completate.
- cancellationToken
- CancellationToken
Token di annullamento da assegnare alla nuova attività di continuazione.
Restituisce
Nuova attività di continuazione.
Eccezioni
Un elemento nella matrice tasks
è stato eliminato.
-oppure-
L'oggetto CancellationTokenSource che ha creato cancellationToken
è già stato eliminato.
La matrice tasks
è null
.
-oppure-
Il valore dell'argomento continuationFunction
è null
.
La matrice tasks
è vuota o contiene un valore null.
Vedi anche
- Task Parallel Library (TPL)
- Concatenamento di attività tramite attività di continuazione
- Annullamento delle attività
Si applica a
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>)
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
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)
Parametri di tipo
- TAntecedentResult
Tipo del risultato degli oggetti tasks
precedenti.
- TResult
Tipo del risultato restituito dal delegato di continuationFunction
e associato all'attività creata.
Parametri
- tasks
- Task<TAntecedentResult>[]
Matrice di attività da cui continuare.
Delegato della funzione da eseguire in modo asincrono quando tutte le attività nella matrice tasks
sono state completate.
Restituisce
Nuova attività di continuazione.
Eccezioni
Un elemento nella matrice tasks
è stato eliminato.
La matrice tasks
è null
.
-oppure-
Il valore dell'argomento continuationFunction
è null
.
La matrice tasks
è vuota o contiene un valore null.
Vedi anche
- Task Parallel Library (TPL)
- Concatenamento di attività tramite attività di continuazione
- Annullamento delle attività
Si applica a
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
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
Parametri di tipo
- TAntecedentResult
Tipo del risultato degli oggetti tasks
precedenti.
Parametri
- tasks
- Task<TAntecedentResult>[]
Matrice di attività da cui continuare.
Delegato dell'azione da eseguire quando tutte le attività nella matrice tasks
sono state completate.
- cancellationToken
- CancellationToken
Token di annullamento da assegnare alla nuova attività di continuazione.
- continuationOptions
- TaskContinuationOptions
Combinazione bit per bit dei valori di enumerazione che controllano il comportamento della nuova attività di continuazione. I membri NotOn* e OnlyOn* non sono supportati.
- scheduler
- TaskScheduler
Oggetto usato per pianificare la nuova attività di continuazione.
Restituisce
Nuova attività di continuazione.
Eccezioni
La matrice tasks
è null
.
-oppure-
Il valore dell'argomento continuationAction
è null
.
-oppure-
Il valore dell'argomento scheduler
è null
.
La matrice tasks
è vuota o contiene un valore null.
continuationOptions
specifica un valore TaskContinuationOptions non valido.
Provider CancellationToken già eliminato.
Commenti
NotOn* e OnlyOn TaskContinuationOptions* , che vincola per cui TaskStatus verrà eseguita una continuazione, sono illegali con ContinueWhenAll
.
Vedi anche
- Task Parallel Library (TPL)
- Concatenamento di attività tramite attività di continuazione
- Annullamento delle attività
Si applica a
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, TaskContinuationOptions)
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
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
Parametri di tipo
- TAntecedentResult
Tipo del risultato degli oggetti tasks
precedenti.
Parametri
- tasks
- Task<TAntecedentResult>[]
Matrice di attività da cui continuare.
Delegato dell'azione da eseguire quando tutte le attività nella matrice tasks
sono state completate.
- continuationOptions
- TaskContinuationOptions
Combinazione bit per bit dei valori di enumerazione che controllano il comportamento della nuova attività di continuazione. I membri NotOn* e OnlyOn* non sono supportati.
Restituisce
Nuova attività di continuazione.
Eccezioni
Un elemento nella matrice tasks
è stato eliminato.
La matrice tasks
è null
.
-oppure-
Il valore dell'argomento continuationAction
è null
.
L'argomento continuationOptions
specifica un valore non valido.
La matrice tasks
è vuota o contiene un valore null.
Commenti
NotOn* e OnlyOn TaskContinuationOptions* , che vincola per cui TaskStatus verrà eseguita una continuazione, sono illegali con ContinueWhenAll
.
Vedi anche
- Task Parallel Library (TPL)
- Concatenamento di attività tramite attività di continuazione
- Annullamento delle attività
Si applica a
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, CancellationToken)
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
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
Parametri di tipo
- TAntecedentResult
Tipo del risultato degli oggetti tasks
precedenti.
Parametri
- tasks
- Task<TAntecedentResult>[]
Matrice di attività da cui continuare.
Delegato dell'azione da eseguire quando tutte le attività nella matrice tasks
sono state completate.
- cancellationToken
- CancellationToken
Token di annullamento da assegnare alla nuova attività di continuazione.
Restituisce
Nuova attività di continuazione.
Eccezioni
Un elemento nella matrice tasks
è stato eliminato.
-oppure-
L'oggetto CancellationTokenSource che ha creato cancellationToken
è già stato eliminato.
La matrice tasks
è null
.
-oppure-
Il valore dell'argomento continuationAction
è null
.
La matrice tasks
è vuota o contiene un valore null.
Vedi anche
- Task Parallel Library (TPL)
- Concatenamento di attività tramite attività di continuazione
- Annullamento delle attività
Si applica a
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>)
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
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
Parametri di tipo
- TAntecedentResult
Tipo del risultato degli oggetti tasks
precedenti.
Parametri
- tasks
- Task<TAntecedentResult>[]
Matrice di attività da cui continuare.
Delegato dell'azione da eseguire quando tutte le attività nella matrice tasks
sono state completate.
Restituisce
Nuova attività di continuazione.
Eccezioni
Un elemento nella matrice tasks
è stato eliminato.
La matrice tasks
è null
.
-oppure-
Il valore dell'argomento continuationAction
è null
.
La matrice tasks
è vuota o contiene un valore null.
Vedi anche
- Task Parallel Library (TPL)
- Concatenamento di attività tramite attività di continuazione
- Annullamento delle attività
Si applica a
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>)
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
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)
Parametri di tipo
- TResult
Tipo del risultato restituito dal delegato di continuationFunction
e associato all'attività creata.
Parametri
- tasks
- Task[]
Matrice di attività da cui continuare.
Delegato della funzione da eseguire in modo asincrono quando tutte le attività nella matrice tasks
sono state completate.
Restituisce
Nuova attività di continuazione.
Eccezioni
Un elemento nella matrice tasks
è stato eliminato.
La matrice tasks
è null
.
-oppure-
Il valore dell'argomento continuationFunction
è null
.
La matrice tasks
è vuota o contiene un valore null.
Vedi anche
Si applica a
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, CancellationToken)
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
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)
Parametri di tipo
- TResult
Tipo del risultato restituito dal delegato di continuationFunction
e associato all'attività creata.
Parametri
- tasks
- Task[]
Matrice di attività da cui continuare.
Delegato della funzione da eseguire in modo asincrono quando tutte le attività nella matrice tasks
sono state completate.
- cancellationToken
- CancellationToken
Token di annullamento da assegnare alla nuova attività di continuazione.
Restituisce
Nuova attività di continuazione.
Eccezioni
Un elemento nella matrice tasks
è stato eliminato.
-oppure-
L'oggetto CancellationTokenSource che ha creato cancellationToken
è già stato eliminato.
La matrice tasks
è null
.
-oppure-
Il valore dell'argomento continuationFunction
è null
.
La matrice tasks
è vuota o contiene un valore null.
Vedi anche
- Task Parallel Library (TPL)
- Concatenamento di attività tramite attività di continuazione
- Annullamento delle attività
Si applica a
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, TaskContinuationOptions)
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
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)
Parametri di tipo
- TResult
Tipo del risultato restituito dal delegato di continuationFunction
e associato all'attività creata.
Parametri
- tasks
- Task[]
Matrice di attività da cui continuare.
Delegato della funzione da eseguire in modo asincrono quando tutte le attività nella matrice tasks
sono state completate.
- continuationOptions
- TaskContinuationOptions
Combinazione bit per bit dei valori di enumerazione che controllano il comportamento della nuova attività di continuazione. I membri NotOn* e OnlyOn* non sono supportati.
Restituisce
Nuova attività di continuazione.
Eccezioni
Un elemento nella matrice tasks
è stato eliminato.
La matrice tasks
è null
.
-oppure-
Il valore dell'argomento continuationFunction
è null
.
L'argomento continuationOptions
specifica un valore non valido.
La matrice tasks
è vuota o contiene un valore null.
Commenti
NotOn* e OnlyOn TaskContinuationOptions* , che vincola per cui TaskStatus verrà eseguita una continuazione, sono illegali con ContinueWhenAll
.
Vedi anche
- Task Parallel Library (TPL)
- Concatenamento di attività tramite attività di continuazione
- Annullamento delle attività
Si applica a
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.
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)
Parametri di tipo
- TResult
Tipo del risultato restituito dal delegato di continuationFunction
e associato all'attività creata.
Parametri
- tasks
- Task[]
Matrice di attività da cui continuare.
Delegato della funzione da eseguire in modo asincrono quando tutte le attività nella matrice tasks
sono state completate.
- cancellationToken
- CancellationToken
Token di annullamento da assegnare alla nuova attività di continuazione.
- continuationOptions
- TaskContinuationOptions
Combinazione bit per bit dei valori di enumerazione che controllano il comportamento della nuova attività di continuazione. I membri NotOn* e OnlyOn* non sono supportati.
- scheduler
- TaskScheduler
Oggetto usato per pianificare la nuova attività di continuazione.
Restituisce
Nuova attività di continuazione.
Eccezioni
La matrice tasks
è null
.
-oppure-
Il valore dell'argomento continuationFunction
è null
.
-oppure-
Il valore dell'argomento scheduler
è null
.
La matrice tasks
è vuota o contiene un valore null.
continuationOptions
specifica un valore TaskContinuationOptions non valido.
Provider CancellationToken già eliminato.
Commenti
NotOn* e OnlyOn TaskContinuationOptions* , che vincola per cui TaskStatus verrà eseguita una continuazione, sono illegali con ContinueWhenAll
.
Vedi anche
- Task Parallel Library (TPL)
- Concatenamento di attività tramite attività di continuazione
- Annullamento delle attività