TaskFactory.ContinueWhenAll Metodo

Definizione

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.

C#
public System.Threading.Tasks.Task ContinueWhenAll (System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task[]> continuationAction);

Parametri

tasks
Task[]

Matrice di attività da cui continuare.

continuationAction
Action<Task[]>

Delegato dell'azione da eseguire quando tutte le attività nella matrice tasks sono state completate.

Restituisce

Task

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.

C#
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

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

.NET 7 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ContinueWhenAll(Task[], Action<Task[]>, CancellationToken)

Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.

C#
public System.Threading.Tasks.Task ContinueWhenAll (System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task[]> continuationAction, System.Threading.CancellationToken cancellationToken);

Parametri

tasks
Task[]

Matrice di attività da cui continuare.

continuationAction
Action<Task[]>

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

Task

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.

C#
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.

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

.NET 7 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ContinueWhenAll(Task[], Action<Task[]>, TaskContinuationOptions)

Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.

C#
public System.Threading.Tasks.Task ContinueWhenAll (System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task[]> continuationAction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);

Parametri

tasks
Task[]

Matrice di attività da cui continuare.

continuationAction
Action<Task[]>

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

Task

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

.NET 7 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ContinueWhenAll(Task[], Action<Task[]>, CancellationToken, TaskContinuationOptions, TaskScheduler)

Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.

C#
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);

Parametri

tasks
Task[]

Matrice di attività da cui continuare.

continuationAction
Action<Task[]>

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

Task

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

.NET 7 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
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);

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.

continuationFunction
Func<Task<TAntecedentResult>[],TResult>

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

Task<TResult>

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

Si applica a

.NET 7 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
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);

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.

continuationFunction
Func<Task<TAntecedentResult>[],TResult>

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

Task<TResult>

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

Si applica a

.NET 7 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
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);

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.

continuationFunction
Func<Task<TAntecedentResult>[],TResult>

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

Task<TResult>

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

Si applica a

.NET 7 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TAntecedentResult,TResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>[],TResult> continuationFunction);

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.

continuationFunction
Func<Task<TAntecedentResult>[],TResult>

Delegato della funzione da eseguire in modo asincrono quando tutte le attività nella matrice tasks sono state completate.

Restituisce

Task<TResult>

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

.NET 7 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
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);

Parametri di tipo

TAntecedentResult

Tipo del risultato degli oggetti tasks precedenti.

Parametri

tasks
Task<TAntecedentResult>[]

Matrice di attività da cui continuare.

continuationAction
Action<Task<TAntecedentResult>[]>

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

Task

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

.NET 7 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, TaskContinuationOptions)

Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.

C#
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);

Parametri di tipo

TAntecedentResult

Tipo del risultato degli oggetti tasks precedenti.

Parametri

tasks
Task<TAntecedentResult>[]

Matrice di attività da cui continuare.

continuationAction
Action<Task<TAntecedentResult>[]>

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

Task

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

.NET 7 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, CancellationToken)

Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.

C#
public System.Threading.Tasks.Task ContinueWhenAll<TAntecedentResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>[]> continuationAction, System.Threading.CancellationToken cancellationToken);

Parametri di tipo

TAntecedentResult

Tipo del risultato degli oggetti tasks precedenti.

Parametri

tasks
Task<TAntecedentResult>[]

Matrice di attività da cui continuare.

continuationAction
Action<Task<TAntecedentResult>[]>

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

Task

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

Si applica a

.NET 7 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>)

Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.

C#
public System.Threading.Tasks.Task ContinueWhenAll<TAntecedentResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>[]> continuationAction);

Parametri di tipo

TAntecedentResult

Tipo del risultato degli oggetti tasks precedenti.

Parametri

tasks
Task<TAntecedentResult>[]

Matrice di attività da cui continuare.

continuationAction
Action<Task<TAntecedentResult>[]>

Delegato dell'azione da eseguire quando tutte le attività nella matrice tasks sono state completate.

Restituisce

Task

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

Si applica a

.NET 7 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>)

Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.

C#
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TResult> (System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task[],TResult> continuationFunction);

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.

continuationFunction
Func<Task[],TResult>

Delegato della funzione da eseguire in modo asincrono quando tutte le attività nella matrice tasks sono state completate.

Restituisce

Task<TResult>

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

.NET 7 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, CancellationToken)

Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.

C#
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TResult> (System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task[],TResult> continuationFunction, System.Threading.CancellationToken cancellationToken);

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.

continuationFunction
Func<Task[],TResult>

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

Task<TResult>

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

Si applica a

.NET 7 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, TaskContinuationOptions)

Crea un'attività di continuazione che viene avviata quando un set di attività specificate è stato completato.

C#
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);

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.

continuationFunction
Func<Task[],TResult>

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

Task<TResult>

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

Si applica a

.NET 7 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
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);

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.

continuationFunction
Func<Task[],TResult>

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

Task<TResult>

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

Si applica a

.NET 7 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0