TaskFactory.ContinueWhenAll Méthode

Définition

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

Surcharges

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Paramètres

tasks
Task[]

Tableau de tâches à partir duquel continuer.

continuationAction
Action<Task[]>

Délégué d’action à exécuter quand toutes les tâches du tableau tasks sont terminées.

Retours

Task

Nouvelle tâche de continuation.

Exceptions

Un élément du tableau tasks a été supprimé.

Le tableau tasks a la valeur null.

  • ou - L'argument continuationAction a la valeur null.

Le tableau tasks est vide ou contient une valeur null.

Exemples

L’exemple suivant lance des tâches distinctes qui utilisent une expression régulière pour compter le nombre de mots dans un ensemble de fichiers texte. La ContinueWhenAll méthode est utilisée pour lancer une tâche qui affiche le nombre total de mots lorsque toutes les tâches antécédentes sont terminées.

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

L’appel à la méthode de la tâche de Task.Wait continuation ne lui permet pas de gérer les exceptions levées par les tâches antécédentes. L’exemple examine donc la Task.Status propriété de chaque tâche antécédente pour déterminer si la tâche a réussi.

Remarques

La ContinueWhenAll méthode exécute le continuationAction délégué lorsque toutes les tâches du tasks tableau sont terminées, quel que soit leur état d’achèvement.

Les exceptions levées par les tâches du tasks tableau ne sont pas disponibles pour la tâche de continuation via la gestion structurée des exceptions. Vous pouvez déterminer quelles exceptions ont été levées en examinant la Task.Exception propriété de chaque tâche dans le tasks tableau. Pour utiliser la gestion structurée des exceptions pour gérer les exceptions levées par des tâches dans le tasks tableau, appelez la Task.WaitAll(Task[]) méthode.

Voir aussi

S’applique à

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Paramètres

tasks
Task[]

Tableau de tâches à partir duquel continuer.

continuationAction
Action<Task[]>

Délégué d'action à exécuter lorsque toutes les tâches du tableau tasks sont terminées.

cancellationToken
CancellationToken

Jeton d’annulation à associer à la nouvelle tâche de continuation.

Retours

Task

Nouvelle tâche de continuation.

Exceptions

Un élément du tableau tasks a été supprimé.

Le tableau tasks a la valeur null.

  • ou - L'argument continuationAction a la valeur null.

Le tableau tasks est vide ou contient une valeur null.

Exemples

L’exemple suivant crée un jeton d’annulation, qu’il passe à des tâches distinctes qui utilisent une expression régulière pour compter le nombre de mots dans un ensemble de fichiers texte. Le jeton d’annulation est défini si un fichier est introuvable. La ContinueWhenAll(Task[], Action{Task[]}, CancellationToken) méthode est utilisée pour lancer une tâche qui affiche le nombre total de mots lorsque toutes les tâches antécédentes sont terminées. Si le jeton d’annulation est défini, ce qui indique qu’une ou plusieurs tâches ont été annulées, elle gère l’exception AggregateException et affiche un message d’erreur.

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.

Remarques

Cette méthode exécute le continuationAction délégué lorsque toutes les tâches du tasks tableau sont terminées, quel que soit leur état d’achèvement.

Voir aussi

S’applique à

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Paramètres

tasks
Task[]

Tableau de tâches à partir duquel continuer.

continuationAction
Action<Task[]>

Délégué d’action à exécuter quand toutes les tâches du tableau tasks sont terminées.

continuationOptions
TaskContinuationOptions

Combinaison d'opérations de bits des valeurs d'énumération qui contrôlent le comportement de la nouvelle tâche de continuation. Les membres NotOn* et OnlyOn* ne sont pas pris en charge.

Retours

Task

Nouvelle tâche de continuation.

Exceptions

Un élément du tableau tasks a été supprimé.

Le tableau tasks a la valeur null.

  • ou - L'argument continuationAction a la valeur null.

L'argument continuationOptions spécifie une valeur non valide.

Le tableau tasks est vide ou contient une valeur null.

Remarques

NotOn* et OnlyOnTaskContinuationOptions*, qui limitent l’exécution TaskStatus d’une continuation, sont illégales avec ContinueWhenAll.

Voir aussi

S’applique à

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Paramètres

tasks
Task[]

Tableau de tâches à partir duquel continuer.

continuationAction
Action<Task[]>

Délégué d'action à exécuter lorsque toutes les tâches du tableau tasks sont terminées.

cancellationToken
CancellationToken

Jeton d’annulation à associer à la nouvelle tâche de continuation.

continuationOptions
TaskContinuationOptions

Combinaison d'opérations de bits des valeurs d'énumération qui contrôlent le comportement de la nouvelle tâche de continuation.

scheduler
TaskScheduler

Objet utilisé pour planifier la nouvelle tâche de continuation.

Retours

Task

Nouvelle tâche de continuation.

Exceptions

Le tableau tasks a la valeur null.

  • ou - L'argument continuationAction a la valeur null.

  • ou - L'argument scheduler a la valeur null.

Le tableau tasks est vide ou contient une valeur null.

continuationOptions spécifie une valeur de TaskContinuationOptions non valide.

Le CancellationToken fourni a déjà été supprimé.

Remarques

NotOn* et OnlyOnTaskContinuationOptions*, qui limitent l’exécution TaskStatus d’une continuation, sont illégales avec ContinueWhenAll.

Voir aussi

S’applique à

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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)

Paramètres de type

TAntecedentResult

Type du résultat du tasks antécédent.

TResult

Type du résultat retourné par le délégué continuationFunction et associé à la tâche créée.

Paramètres

tasks
Task<TAntecedentResult>[]

Tableau de tâches à partir duquel continuer.

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

Délégué de fonction à exécuter en mode asynchrone lorsque toutes les tâches du tableau tasks sont terminées.

cancellationToken
CancellationToken

Jeton d’annulation à associer à la nouvelle tâche de continuation.

continuationOptions
TaskContinuationOptions

Combinaison d'opérations de bits des valeurs d'énumération qui contrôlent le comportement de la nouvelle tâche de continuation. Les membres NotOn* et OnlyOn* ne sont pas pris en charge.

scheduler
TaskScheduler

Objet utilisé pour planifier la nouvelle tâche de continuation.

Retours

Task<TResult>

Nouvelle tâche de continuation.

Exceptions

Le tableau tasks a la valeur null.

  • ou - L'argument continuationFunction a la valeur null.

  • ou - L'argument scheduler a la valeur null.

Le tableau tasks est vide ou contient une valeur null.

L'argument continuationOptions spécifie une valeur non valide.

Un élément du tableau tasks a été supprimé.

Remarques

NotOn* et OnlyOnTaskContinuationOptions*, qui limitent l’exécution TaskStatus d’une continuation, sont illégales avec ContinueWhenAll.

Voir aussi

S’applique à

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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)

Paramètres de type

TAntecedentResult

Type du résultat du tasks antécédent.

TResult

Type du résultat retourné par le délégué continuationFunction et associé à la tâche créée.

Paramètres

tasks
Task<TAntecedentResult>[]

Tableau de tâches à partir duquel continuer.

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

Délégué de fonction à exécuter en mode asynchrone quand toutes les tâches du tableau tasks sont terminées.

continuationOptions
TaskContinuationOptions

Combinaison d'opérations de bits des valeurs d'énumération qui contrôlent le comportement de la nouvelle tâche de continuation. Les membres NotOn* et OnlyOn* ne sont pas pris en charge.

Retours

Task<TResult>

Nouvelle tâche de continuation.

Exceptions

Un élément du tableau tasks a été supprimé.

Le tableau tasks a la valeur null.

  • ou - L'argument continuationFunction a la valeur null.

L'argument continuationOptions spécifie une valeur non valide.

Le tableau tasks est vide ou contient une valeur null.

Remarques

NotOn* et OnlyOnTaskContinuationOptions*, qui limitent l’exécution TaskStatus d’une continuation, sont illégales avec ContinueWhenAll.

Voir aussi

S’applique à

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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)

Paramètres de type

TAntecedentResult

Type du résultat du tasks antécédent.

TResult

Type du résultat retourné par le délégué continuationFunction et associé à la tâche créée.

Paramètres

tasks
Task<TAntecedentResult>[]

Tableau de tâches à partir duquel continuer.

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

Délégué de fonction à exécuter en mode asynchrone lorsque toutes les tâches du tableau tasks sont terminées.

cancellationToken
CancellationToken

Jeton d’annulation à associer à la nouvelle tâche de continuation.

Retours

Task<TResult>

Nouvelle tâche de continuation.

Exceptions

Un élément du tableau tasks a été supprimé.

Le tableau tasks a la valeur null.

  • ou - L'argument continuationFunction a la valeur null.

Le tableau tasks est vide ou contient une valeur null.

Voir aussi

S’applique à

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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)

Paramètres de type

TAntecedentResult

Type du résultat du tasks antécédent.

TResult

Type du résultat retourné par le délégué continuationFunction et associé à la tâche créée.

Paramètres

tasks
Task<TAntecedentResult>[]

Tableau de tâches à partir duquel continuer.

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

Délégué de fonction à exécuter en mode asynchrone quand toutes les tâches du tableau tasks sont terminées.

Retours

Task<TResult>

Nouvelle tâche de continuation.

Exceptions

Un élément du tableau tasks a été supprimé.

Le tableau tasks a la valeur null.

  • ou - L'argument continuationFunction a la valeur null.

Le tableau tasks est vide ou contient une valeur null.

Voir aussi

S’applique à

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Paramètres de type

TAntecedentResult

Type du résultat du tasks antécédent.

Paramètres

tasks
Task<TAntecedentResult>[]

Tableau de tâches à partir duquel continuer.

continuationAction
Action<Task<TAntecedentResult>[]>

Délégué d'action à exécuter lorsque toutes les tâches du tableau tasks sont terminées.

cancellationToken
CancellationToken

Jeton d’annulation à associer à la nouvelle tâche de continuation.

continuationOptions
TaskContinuationOptions

Combinaison d'opérations de bits des valeurs d'énumération qui contrôlent le comportement de la nouvelle tâche de continuation. Les membres NotOn* et OnlyOn* ne sont pas pris en charge.

scheduler
TaskScheduler

Objet utilisé pour planifier la nouvelle tâche de continuation.

Retours

Task

Nouvelle tâche de continuation.

Exceptions

Le tableau tasks a la valeur null.

  • ou - L'argument continuationAction a la valeur null.

  • ou - L'argument scheduler a la valeur null.

Le tableau tasks est vide ou contient une valeur null.

continuationOptions spécifie une valeur de TaskContinuationOptions non valide.

Le CancellationToken fourni a déjà été supprimé.

Remarques

NotOn et OnlyOn**TaskContinuationOptions, qui limitent l’exécution TaskStatus d’une continuation, sont illégales avec .ContinueWhenAll

Voir aussi

S’applique à

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Paramètres de type

TAntecedentResult

Type du résultat du tasks antécédent.

Paramètres

tasks
Task<TAntecedentResult>[]

Tableau de tâches à partir duquel continuer.

continuationAction
Action<Task<TAntecedentResult>[]>

Délégué d’action à exécuter quand toutes les tâches du tableau tasks sont terminées.

continuationOptions
TaskContinuationOptions

Combinaison d'opérations de bits des valeurs d'énumération qui contrôlent le comportement de la nouvelle tâche de continuation. Les membres NotOn* et OnlyOn* ne sont pas pris en charge.

Retours

Task

Nouvelle tâche de continuation.

Exceptions

Un élément du tableau tasks a été supprimé.

Le tableau tasks a la valeur null.

  • ou - L'argument continuationAction a la valeur null.

L'argument continuationOptions spécifie une valeur non valide.

Le tableau tasks est vide ou contient une valeur null.

Remarques

NotOn* et OnlyOnTaskContinuationOptions*, qui limitent l’exécution TaskStatus d’une continuation, sont illégales avec ContinueWhenAll.

Voir aussi

S’applique à

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Paramètres de type

TAntecedentResult

Type du résultat du tasks antécédent.

Paramètres

tasks
Task<TAntecedentResult>[]

Tableau de tâches à partir duquel continuer.

continuationAction
Action<Task<TAntecedentResult>[]>

Délégué d'action à exécuter lorsque toutes les tâches du tableau tasks sont terminées.

cancellationToken
CancellationToken

Jeton d’annulation à associer à la nouvelle tâche de continuation.

Retours

Task

Nouvelle tâche de continuation.

Exceptions

Un élément du tableau tasks a été supprimé.

Le tableau tasks a la valeur null.

  • ou - L'argument continuationAction a la valeur null.

Le tableau tasks est vide ou contient une valeur null.

Voir aussi

S’applique à

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Paramètres de type

TAntecedentResult

Type du résultat du tasks antécédent.

Paramètres

tasks
Task<TAntecedentResult>[]

Tableau de tâches à partir duquel continuer.

continuationAction
Action<Task<TAntecedentResult>[]>

Délégué d’action à exécuter quand toutes les tâches du tableau tasks sont terminées.

Retours

Task

Nouvelle tâche de continuation.

Exceptions

Un élément du tableau tasks a été supprimé.

Le tableau tasks a la valeur null.

  • ou - L'argument continuationAction a la valeur null.

Le tableau tasks est vide ou contient une valeur null.

Voir aussi

S’applique à

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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)

Paramètres de type

TResult

Type du résultat retourné par le délégué continuationFunction et associé à la tâche créée.

Paramètres

tasks
Task[]

Tableau de tâches à partir duquel continuer.

continuationFunction
Func<Task[],TResult>

Délégué de fonction à exécuter en mode asynchrone quand toutes les tâches du tableau tasks sont terminées.

Retours

Task<TResult>

Nouvelle tâche de continuation.

Exceptions

Un élément du tableau tasks a été supprimé.

Le tableau tasks a la valeur null.

  • ou - L'argument continuationFunction a la valeur null.

Le tableau tasks est vide ou contient une valeur null.

Voir aussi

S’applique à

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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)

Paramètres de type

TResult

Type du résultat retourné par le délégué continuationFunction et associé à la tâche créée.

Paramètres

tasks
Task[]

Tableau de tâches à partir duquel continuer.

continuationFunction
Func<Task[],TResult>

Délégué de fonction à exécuter en mode asynchrone lorsque toutes les tâches du tableau tasks sont terminées.

cancellationToken
CancellationToken

Jeton d’annulation à associer à la nouvelle tâche de continuation.

Retours

Task<TResult>

Nouvelle tâche de continuation.

Exceptions

Un élément du tableau tasks a été supprimé.

Le tableau tasks a la valeur null.

  • ou - L'argument continuationFunction a la valeur null.

Le tableau tasks est vide ou contient une valeur null.

Voir aussi

S’applique à

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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)

Paramètres de type

TResult

Type du résultat retourné par le délégué continuationFunction et associé à la tâche créée.

Paramètres

tasks
Task[]

Tableau de tâches à partir duquel continuer.

continuationFunction
Func<Task[],TResult>

Délégué de fonction à exécuter en mode asynchrone quand toutes les tâches du tableau tasks sont terminées.

continuationOptions
TaskContinuationOptions

Combinaison d'opérations de bits des valeurs d'énumération qui contrôlent le comportement de la nouvelle tâche de continuation. Les membres NotOn* et OnlyOn* ne sont pas pris en charge.

Retours

Task<TResult>

Nouvelle tâche de continuation.

Exceptions

Un élément du tableau tasks a été supprimé.

Le tableau tasks a la valeur null.

  • ou - L'argument continuationFunction a la valeur null.

L'argument continuationOptions spécifie une valeur non valide.

Le tableau tasks est vide ou contient une valeur null.

Remarques

NotOn et OnlyOn**TaskContinuationOptions, qui limitent l’exécution TaskStatus d’une continuation, sont illégales avec .ContinueWhenAll

Voir aussi

S’applique à

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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)

Paramètres de type

TResult

Type du résultat retourné par le délégué continuationFunction et associé à la tâche créée.

Paramètres

tasks
Task[]

Tableau de tâches à partir duquel continuer.

continuationFunction
Func<Task[],TResult>

Délégué de fonction à exécuter en mode asynchrone lorsque toutes les tâches du tableau tasks sont terminées.

cancellationToken
CancellationToken

Jeton d’annulation à associer à la nouvelle tâche de continuation.

continuationOptions
TaskContinuationOptions

Combinaison d'opérations de bits des valeurs d'énumération qui contrôlent le comportement de la nouvelle tâche de continuation. Les membres NotOn* et OnlyOn* ne sont pas pris en charge.

scheduler
TaskScheduler

Objet utilisé pour planifier la nouvelle tâche de continuation.

Retours

Task<TResult>

Nouvelle tâche de continuation.

Exceptions

Le tableau tasks a la valeur null.

  • ou - L'argument continuationFunction a la valeur null.

  • ou - L'argument scheduler a la valeur null.

Le tableau tasks est vide ou contient une valeur null.

continuationOptions spécifie une valeur de TaskContinuationOptions non valide.

Le CancellationToken fourni a déjà été supprimé.

Remarques

NotOn et OnlyOn**TaskContinuationOptions, qui limitent l’exécution TaskStatus d’une continuation, sont illégales avec .ContinueWhenAll

Voir aussi

S’applique à