TaskFactory.ContinueWhenAny Méthode

Définition

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

Surcharges

Nom Description
ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions)

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

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

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

ContinueWhenAny(Task[], Action<Task>)

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

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

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

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

Crée une continuation Task<TResult> qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

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

Crée une continuation Task<TResult> qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

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

Crée une continuation Task<TResult> qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

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

Crée une continuation Task<TResult> qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

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

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

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

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

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

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

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

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

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

Crée une continuation Task<TResult> qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

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

Crée une continuation Task<TResult> qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

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

Crée une continuation Task<TResult> qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

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

Crée une continuation Task<TResult> qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

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

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

public:
 System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<System::Threading::Tasks::Task ^> ^ continuationAction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task ContinueWhenAny(System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task> continuationAction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task
Public Function ContinueWhenAny (tasks As Task(), continuationAction As Action(Of Task), continuationOptions As TaskContinuationOptions) As Task

Paramètres

tasks
Task[]

Tableau de tâches à partir duquel continuer lorsqu’une tâche se termine.

continuationAction
Action<Task>

Délégué d’action à exécuter lorsqu’une tâche du tasks tableau est terminée.

continuationOptions
TaskContinuationOptions

Valeur TaskContinuationOptions qui contrôle le comportement de la continuation Taskcréée.

Retours

La nouvelle continuation Task.

Exceptions

L’un des éléments du tasks tableau a été supprimé.

Le tasks tableau est null.

-ou-

continuationAction a la valeur null.

continuationOptions spécifie une valeur TaskContinuationOptions non valide.

Le tasks tableau contient une null valeur.

-ou-

Le tasks tableau est vide.

Remarques

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

Voir aussi

S’applique à

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

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

public:
 System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <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);
public System.Threading.Tasks.Task ContinueWhenAny(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.ContinueWhenAny : 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 ContinueWhenAny (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 lorsqu’une tâche se termine.

continuationAction
Action<Task>

Délégué d’action à exécuter lorsqu’une tâche du tasks tableau est terminée.

cancellationToken
CancellationToken

Qui CancellationToken sera affecté à la nouvelle tâche de continuation.

continuationOptions
TaskContinuationOptions

Valeur TaskContinuationOptions qui contrôle le comportement de la continuation Taskcréée.

scheduler
TaskScheduler

Utilisé TaskScheduler pour planifier la continuation Taskcréée.

Retours

La nouvelle continuation Task.

Exceptions

Le tasks tableau est null.

-ou-

continuationAction a la valeur null.

-ou-

scheduler a la valeur null.

Le tasks tableau contient une null valeur.

-ou-

Le tasks tableau est vide.

continuationOptions spécifie une valeur TaskContinuationOptions non valide.

Les données fournies CancellationToken ont déjà été supprimées.

Remarques

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

Voir aussi

S’applique à

ContinueWhenAny(Task[], Action<Task>)

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

public:
 System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<System::Threading::Tasks::Task ^> ^ continuationAction);
public System.Threading.Tasks.Task ContinueWhenAny(System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task> continuationAction);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task> -> System.Threading.Tasks.Task
Public Function ContinueWhenAny (tasks As Task(), continuationAction As Action(Of Task)) As Task

Paramètres

tasks
Task[]

Tableau de tâches à partir duquel continuer lorsqu’une tâche se termine.

continuationAction
Action<Task>

Délégué d’action à exécuter lorsqu’une tâche du tasks tableau est terminée.

Retours

La nouvelle continuation Task.

Exceptions

L’un des éléments du tasks tableau a été supprimé.

Le tasks tableau est null.

-ou-

L’argument continuationAction est null.

Le tasks tableau contient une null valeur.

-ou-

Le tasks tableau est vide.

Exemples

L’exemple suivant montre comment utiliser ContinueWhenAny et ContinueWhenAll:

using System;
using System.Threading;
using System.Threading.Tasks;

class ContinueWhenMultiDemo
{
    // Demonstrated features:
    // 		Task.Factory
    //		TaskFactory.ContinueWhenAll()
    //		TaskFactory.ContinueWhenAny()
    //		Task.Wait()
    // Expected results:
    // 		Three tasks are created in parallel. 
    //		Each task for a different period of time prints a number and returns it.
    //      A ContinueWhenAny() task indicates the first of the three tasks to complete.
    //      A ContinueWhenAll() task sums up the results of the three tasks and prints out the total.
    // Documentation:
    //		http://msdn.microsoft.com/library/system.threading.tasks.taskfactory_members(VS.100).aspx
    static void Main()
    {
        // Schedule a list of tasks that return integer
        Task<int>[] tasks = new Task<int>[]
            {
                Task<int>.Factory.StartNew(() => 
                    {
                        Thread.Sleep(500);
                        Console.WriteLine("Task={0}, Thread={1}, x=5", Task.CurrentId, Thread.CurrentThread.ManagedThreadId);
                        return 5;
                    }),

                Task<int>.Factory.StartNew(() => 
                    {
                        Thread.Sleep(10);
                        Console.WriteLine("Task={0}, Thread={1}, x=3", Task.CurrentId, Thread.CurrentThread.ManagedThreadId);
                        return 3;
                    }),

                Task<int>.Factory.StartNew(() => 
                    {
                        Thread.Sleep(200);
                        Console.WriteLine("Task={0}, Thread={1}, x=2", Task.CurrentId, Thread.CurrentThread.ManagedThreadId);
                        return 2;
                    })
            };

        // Schedule a continuation to indicate the result of the first task to complete
        Task.Factory.ContinueWhenAny(tasks, winner =>
        {
            // You would expect winning result = 3 on multi-core systems, because you expect
            // tasks[1] to finish first.
            Console.WriteLine("Task={0}, Thread={1} (ContinueWhenAny): Winning result = {2}", Task.CurrentId, Thread.CurrentThread.ManagedThreadId, winner.Result);
        });

        // Schedule a continuation that sums up the results of all tasks, then wait on it.
        // The list of antecendent tasks is passed as an argument by the runtime.
        Task.Factory.ContinueWhenAll(tasks,
            (antecendents) =>
            {
                int sum = 0;
                foreach (Task<int> task in antecendents)
                {
                    sum += task.Result;
                }

                Console.WriteLine("Task={0}, Thread={1}, (ContinueWhenAll): Total={2} (expected 10)", Task.CurrentId, Thread.CurrentThread.ManagedThreadId, sum);
            })
            .Wait();
    }
}
Imports System.Threading
Imports System.Threading.Tasks

Module ContinuationWhenMulti
    ' Demonstrated features:
    '   Task.Factory
    '   TaskFactory.ContinueWhenAll()
    '   TaskFactory.ContinueWhenAny()
    '   Task.Wait()
    ' Expected results:
    '   Three tasks are created in parallel. 
    '   Each task for a different period of time prints a number and returns it.
    '   A ContinueWhenAny() task indicates the first of the three tasks to complete.
    '   A ContinueWhenAll() task sums up the results of the three tasks and prints out the total.
    ' Documentation:
    '   http://msdn.microsoft.com/library/system.threading.tasks.taskfactory_members(VS.100).aspx
    Sub Main()
        ' Schedule a list of tasks that return integer
        Dim tasks As Task(Of Integer)() = New Task(Of Integer)() {
            Task(Of Integer).Factory.StartNew(Function()
                                                  Thread.Sleep(500)
                                                  Console.WriteLine("Task={0}, Thread={1}, x=5", Task.CurrentId, Thread.CurrentThread.ManagedThreadId)
                                                  Return 5
                                              End Function),
            Task(Of Integer).Factory.StartNew(Function()
                                                  Thread.Sleep(10)
                                                  Console.WriteLine("Task={0}, Thread={1}, x=3", Task.CurrentId, Thread.CurrentThread.ManagedThreadId)
                                                  Return 3
                                              End Function),
            Task(Of Integer).Factory.StartNew(Function()
                                                  Thread.Sleep(200)
                                                  Console.WriteLine("Task={0}, Thread={1}, x=2", Task.CurrentId, Thread.CurrentThread.ManagedThreadId)
                                                  Return 2
                                              End Function)}


        ' Schedule a continuation to indicate the result of the first task to complete
        Task.Factory.ContinueWhenAny(tasks, Sub(winner)
                                                ' You would expect winning result = 3 on multi-core systems, because you expect
                                                ' tasks[1] to finish first.
                                                Console.WriteLine("Task={0}, Thread={1} (ContinueWhenAny): Winning result = {2}", Task.CurrentId, Thread.CurrentThread.ManagedThreadId, winner.Result)
                                            End Sub)


        ' Schedule a continuation that sums up the results of all tasks, then wait on it.
        ' The list of antecendent tasks is passed as an argument by the runtime.
        Task.Factory.ContinueWhenAll(tasks, Sub(antecendents)
                                                Dim sum As Integer = 0
                                                For Each task__1 As Task(Of Integer) In antecendents
                                                    sum += task__1.Result
                                                Next
                                                Console.WriteLine("Task={0}, Thread={1}, (ContinueWhenAll): Total={2} (expected 10)", Task.CurrentId, Thread.CurrentThread.ManagedThreadId, sum)
                                            End Sub).Wait()
    End Sub
End Module

Voir aussi

S’applique à

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

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

public:
 System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<System::Threading::Tasks::Task ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task ContinueWhenAny(System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task> continuationAction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function ContinueWhenAny (tasks As Task(), continuationAction As Action(Of Task), cancellationToken As CancellationToken) As Task

Paramètres

tasks
Task[]

Tableau de tâches à partir duquel continuer lorsqu’une tâche se termine.

continuationAction
Action<Task>

Délégué d’action à exécuter lorsqu’une tâche du tasks tableau est terminée.

cancellationToken
CancellationToken

Qui CancellationToken sera affecté à la nouvelle tâche de continuation.

Retours

La nouvelle continuation Task.

Exceptions

L’un des éléments du tasks tableau a été supprimé.

-ou-

cancellationToken a déjà été supprimé.

Le tasks tableau est null.

-ou-

L’argument continuationAction est null.

Le tasks tableau contient une null valeur.

-ou-

Le tasks tableau est vide.

Voir aussi

S’applique à

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

Crée une continuation Task<TResult> qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

public:
generic <typename TAntecedentResult, typename TResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult,TResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(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 de l’antécédent tasks.

TResult

Type du résultat retourné par le continuationFunction délégué et associé au résultat créé Task<TResult>.

Paramètres

tasks
Task<TAntecedentResult>[]

Tableau de tâches à partir duquel continuer lorsqu’une tâche se termine.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

Délégué de fonction à exécuter de manière asynchrone lorsqu’une tâche du tasks tableau est terminée.

continuationOptions
TaskContinuationOptions

Valeur TaskContinuationOptions qui contrôle le comportement de la continuation Task<TResult>créée.

Retours

La nouvelle continuation Task<TResult>.

Exceptions

L’un des éléments du tasks tableau a été supprimé.

Le tasks tableau est null.

-ou-

continuationFunction a la valeur null.

continuationOptions spécifie une valeur TaskContinuationOptions non valide.

Le tasks tableau contient une valeur Null.

-ou-

Le tasks tableau est vide.

Remarques

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

Voir aussi

S’applique à

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

Crée une continuation Task<TResult> qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

public:
generic <typename TAntecedentResult, typename TResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult,TResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(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 de l’antécédent tasks.

TResult

Type du résultat retourné par le continuationFunction délégué et associé au résultat créé Task<TResult>.

Paramètres

tasks
Task<TAntecedentResult>[]

Tableau de tâches à partir duquel continuer lorsqu’une tâche se termine.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

Délégué de fonction à exécuter de manière asynchrone lorsqu’une tâche du tasks tableau est terminée.

Retours

La nouvelle continuation Task<TResult>.

Exceptions

L’un des éléments du tasks tableau a été supprimé.

Le tasks tableau est null.

-ou-

continuationFunction a la valeur null.

Le tasks tableau contient une valeur Null.

-ou-

Le tasks tableau est vide.

Voir aussi

S’applique à

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

Crée une continuation Task<TResult> qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

public:
generic <typename TAntecedentResult, typename TResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult,TResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(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 de l’antécédent tasks.

TResult

Type du résultat retourné par le continuationFunction délégué et associé au résultat créé Task<TResult>.

Paramètres

tasks
Task<TAntecedentResult>[]

Tableau de tâches à partir duquel continuer lorsqu’une tâche se termine.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

Délégué de fonction à exécuter de manière asynchrone lorsqu’une tâche du tasks tableau est terminée.

cancellationToken
CancellationToken

Qui CancellationToken sera affecté à la nouvelle tâche de continuation.

Retours

La nouvelle continuation Task<TResult>.

Exceptions

L’un des éléments du tasks tableau a été supprimé.

-ou-

Les données fournies CancellationToken ont déjà été supprimées.

Le tasks tableau est null.

-ou-

continuationFunction a la valeur null.

Le tasks tableau contient une null valeur.

-ou-

Le tasks tableau est vide.

Voir aussi

S’applique à

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

Crée une continuation Task<TResult> qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

public:
generic <typename TAntecedentResult, typename TResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <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);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<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.ContinueWhenAny : 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 ContinueWhenAny(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 de l’antécédent tasks.

TResult

Type du résultat retourné par le continuationFunction délégué et associé au résultat créé Task<TResult>.

Paramètres

tasks
Task<TAntecedentResult>[]

Tableau de tâches à partir duquel continuer lorsqu’une tâche se termine.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

Délégué de fonction à exécuter de manière asynchrone lorsqu’une tâche du tasks tableau est terminée.

cancellationToken
CancellationToken

Qui CancellationToken sera affecté à la nouvelle tâche de continuation.

continuationOptions
TaskContinuationOptions

Valeur TaskContinuationOptions qui contrôle le comportement de la continuation Task<TResult>créée.

scheduler
TaskScheduler

Utilisé TaskScheduler pour planifier la continuation Task<TResult>créée.

Retours

La nouvelle continuation Task<TResult>.

Exceptions

Le tasks tableau est null.

-ou-

continuationFunction a la valeur null.

-ou-

scheduler a la valeur null.

Le tasks tableau contient une valeur Null.

-ou-

Le tasks tableau est vide.

continuationOptions spécifie une valeur TaskContinuationOptions non valide.

Les données fournies CancellationToken ont déjà été supprimées.

Remarques

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

Voir aussi

S’applique à

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

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

public:
generic <typename TAntecedentResult>
 System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<System::Threading::Tasks::Task<TAntecedentResult> ^> ^ continuationAction);
public System.Threading.Tasks.Task ContinueWhenAny<TAntecedentResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>> continuationAction);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>> -> System.Threading.Tasks.Task
Public Function ContinueWhenAny(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 de l’antécédent tasks.

Paramètres

tasks
Task<TAntecedentResult>[]

Tableau de tâches à partir duquel continuer lorsqu’une tâche se termine.

continuationAction
Action<Task<TAntecedentResult>>

Délégué d’action à exécuter lorsqu’une tâche du tasks tableau est terminée.

Retours

La nouvelle continuation Task.

Exceptions

L’un des éléments du tasks tableau a été supprimé.

Le tasks tableau est null.

-ou-

continuationAction a la valeur null.

Le tasks tableau contient une null valeur.

-ou-

Le tasks tableau est vide.

Voir aussi

S’applique à

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

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

public:
generic <typename TAntecedentResult>
 System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<System::Threading::Tasks::Task<TAntecedentResult> ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task ContinueWhenAny<TAntecedentResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>> continuationAction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function ContinueWhenAny(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 de l’antécédent tasks.

Paramètres

tasks
Task<TAntecedentResult>[]

Tableau de tâches à partir duquel continuer lorsqu’une tâche se termine.

continuationAction
Action<Task<TAntecedentResult>>

Délégué d’action à exécuter lorsqu’une tâche du tasks tableau est terminée.

cancellationToken
CancellationToken

Qui CancellationToken sera affecté à la nouvelle tâche de continuation.

Retours

La nouvelle continuation Task.

Exceptions

L’un des éléments du tasks tableau a été supprimé.

-ou-

Les données fournies CancellationToken ont déjà été supprimées.

Le tasks tableau est null.

-ou-

continuationAction a la valeur null.

Le tasks tableau contient une valeur Null.

-ou-

Le tasks tableau est vide.

Voir aussi

S’applique à

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

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

public:
generic <typename TAntecedentResult>
 System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<System::Threading::Tasks::Task<TAntecedentResult> ^> ^ continuationAction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task ContinueWhenAny<TAntecedentResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>> continuationAction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task
Public Function ContinueWhenAny(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 de l’antécédent tasks.

Paramètres

tasks
Task<TAntecedentResult>[]

Tableau de tâches à partir duquel continuer lorsqu’une tâche se termine.

continuationAction
Action<Task<TAntecedentResult>>

Délégué d’action à exécuter lorsqu’une tâche du tasks tableau est terminée.

continuationOptions
TaskContinuationOptions

Valeur TaskContinuationOptions qui contrôle le comportement de la continuation Taskcréée.

Retours

La nouvelle continuation Task.

Exceptions

L’un des éléments du tasks tableau a été supprimé.

Le tasks tableau est null.

-ou-

continuationAction a la valeur null.

continuationOptions spécifie une valeur TaskContinuationOptions non valide.

Le tasks tableau contient une valeur Null.

-ou-

Le tasks tableau est vide.

Remarques

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

Voir aussi

S’applique à

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

Crée une continuation Task qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

public:
generic <typename TAntecedentResult>
 System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <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);
public System.Threading.Tasks.Task ContinueWhenAny<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.ContinueWhenAny : 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 ContinueWhenAny(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 de l’antécédent tasks.

Paramètres

tasks
Task<TAntecedentResult>[]

Tableau de tâches à partir duquel continuer lorsqu’une tâche se termine.

continuationAction
Action<Task<TAntecedentResult>>

Délégué d’action à exécuter lorsqu’une tâche du tasks tableau est terminée.

cancellationToken
CancellationToken

Qui CancellationToken sera affecté à la nouvelle tâche de continuation.

continuationOptions
TaskContinuationOptions

Valeur TaskContinuationOptions qui contrôle le comportement de la continuation Taskcréée.

scheduler
TaskScheduler

Utilisé TaskScheduler pour planifier la continuation Task<TResult>créée.

Retours

La nouvelle continuation Task.

Exceptions

Le tasks tableau est null.

-ou-

continuationAction a la valeur null.

-ou-

paramref name="scheduler » /> is null.

Le tasks tableau contient une null valeur.

-ou-

Le tasks tableau est vide.

continuationOptions spécifie une valeur non valide TaskContinuationOptions .

Les données fournies CancellationToken ont déjà été supprimées.

Remarques

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

Voir aussi

S’applique à

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

Crée une continuation Task<TResult> qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

public:
generic <typename TResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TResult>(System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(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 continuationFunction délégué et associé au résultat créé Task<TResult>.

Paramètres

tasks
Task[]

Tableau de tâches à partir duquel continuer lorsqu’une tâche se termine.

continuationFunction
Func<Task,TResult>

Délégué de fonction à exécuter de manière asynchrone lorsqu’une tâche du tasks tableau est terminée.

Retours

La nouvelle continuation Task<TResult>.

Exceptions

L’un des éléments du tasks tableau a été supprimé.

Le tasks tableau est null.

-ou-

continuationFunction a la valeur null.

Le tasks tableau contient une valeur Null.

-ou-

Le tasks tableau est vide.

Voir aussi

S’applique à

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

Crée une continuation Task<TResult> qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

public:
generic <typename TResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TResult>(System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(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 continuationFunction délégué et associé au résultat créé Task<TResult>.

Paramètres

tasks
Task[]

Tableau de tâches à partir duquel continuer lorsqu’une tâche se termine.

continuationFunction
Func<Task,TResult>

Délégué de fonction à exécuter de manière asynchrone lorsqu’une tâche du tasks tableau est terminée.

cancellationToken
CancellationToken

Qui CancellationToken sera affecté à la nouvelle tâche de continuation.

Retours

La nouvelle continuation Task<TResult>.

Exceptions

L’un des éléments du tasks tableau a été supprimé.

-ou-

Les données fournies CancellationToken ont déjà été supprimées.

Le tasks tableau est null.

-ou-

continuationFunction a la valeur null.

Le tasks tableau contient une null valeur.

-ou-

Le tasks tableau est vide.

Voir aussi

S’applique à

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

Crée une continuation Task<TResult> qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

public:
generic <typename TResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TResult>(System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(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 continuationFunction délégué et associé au résultat créé Task<TResult>.

Paramètres

tasks
Task[]

Tableau de tâches à partir duquel continuer lorsqu’une tâche se termine.

continuationFunction
Func<Task,TResult>

Délégué de fonction à exécuter de manière asynchrone lorsqu’une tâche du tasks tableau est terminée.

continuationOptions
TaskContinuationOptions

Valeur TaskContinuationOptions qui contrôle le comportement de la continuation Task<TResult>créée.

Retours

La nouvelle continuation Task<TResult>.

Exceptions

L’un des éléments du tasks tableau a été supprimé.

Le tasks tableau est null.

-ou-

continuationFunction a la valeur null.

continuationOptions spécifie une valeur TaskContinuationOptions non valide.

Le tasks tableau contient une null valeur.

-ou-

Le tasks tableau est vide.

Remarques

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

Voir aussi

S’applique à

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

Crée une continuation Task<TResult> qui sera démarrée lors de l’achèvement d’une tâche dans l’ensemble fourni.

public:
generic <typename TResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <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);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<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.ContinueWhenAny : 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 ContinueWhenAny(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 continuationFunction délégué et associé au résultat créé Task<TResult>.

Paramètres

tasks
Task[]

Tableau de tâches à partir duquel continuer lorsqu’une tâche se termine.

continuationFunction
Func<Task,TResult>

Délégué de fonction à exécuter de manière asynchrone lorsqu’une tâche du tasks tableau est terminée.

cancellationToken
CancellationToken

Qui CancellationToken sera affecté à la nouvelle tâche de continuation.

continuationOptions
TaskContinuationOptions

Valeur TaskContinuationOptions qui contrôle le comportement de la continuation Task<TResult>créée.

scheduler
TaskScheduler

Utilisé TaskScheduler pour planifier la continuation Task<TResult>créée.

Retours

La nouvelle continuation Task<TResult>.

Exceptions

Le tasks tableau est null.

-ou-

continuationFunction a la valeur null.

-ou-

scheduler a la valeur null.

Le tasks tableau contient une null valeur.

-ou-

Le tasks tableau est vide.

continuationOptions spécifie une valeur TaskContinuationOptions non valide.

Les données fournies CancellationToken ont déjà été supprimées.

Remarques

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

Voir aussi

S’applique à