TaskFactory.ContinueWhenAny Método

Definição

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

Sobrecargas

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

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny(Task[], Action<Task>)

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Cria um Task<TResult> de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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

Cria um Task<TResult> de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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

Cria um Task<TResult> de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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

Cria um Task<TResult> de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Cria um Task<TResult> de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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

Cria um Task<TResult> de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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

Cria um Task<TResult> de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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

Cria um Task<TResult> de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Parâmetros

tasks
Task[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.The array of tasks from which to continue when one task completes.

continuationAction
Action<Task>

O delegado de ação a ser executado quando uma tarefa na matriz tasks for concluída.The action delegate to execute when one task in the tasks array completes.

continuationOptions
TaskContinuationOptions

O valor TaskContinuationOptions que controla o comportamento da Task de continuação criada.The TaskContinuationOptions value that controls the behavior of the created continuation Task.

Retornos

Task

O novo Task de continuação.The new continuation Task.

Exceções

Um dos elementos na matriz tasks foi descartado.One of the elements in the tasks array has been disposed.

A matriz do tasks é null.The tasks array is null.

- ou --or- continuationAction é null.continuationAction is null.

continuationOptions especifica um valor TaskContinuationOptions inválido.continuationOptions specifies an invalid TaskContinuationOptions value.

A matriz tasks contém um valor null.The tasks array contains a null value.

- ou --or- A matriz tasks está vazia.The tasks array is empty.

Comentários

O NotOn * e somente * TaskContinuationOptions , que determinam para quais TaskStatus Estados uma continuação será executada, são ilegais com ContinueWhenAny .The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Aplica-se a

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

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Parâmetros

tasks
Task[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.The array of tasks from which to continue when one task completes.

continuationAction
Action<Task>

O delegado de ação a ser executado quando uma tarefa na matriz tasks for concluída.The action delegate to execute when one task in the tasks array completes.

cancellationToken
CancellationToken

O CancellationToken que será atribuído à nova tarefa de continuação.The CancellationToken that will be assigned to the new continuation task.

continuationOptions
TaskContinuationOptions

O valor TaskContinuationOptions que controla o comportamento da Task de continuação criada.The TaskContinuationOptions value that controls the behavior of the created continuation Task.

scheduler
TaskScheduler

O TaskScheduler usado para agendar a Task de continuação criada.The TaskScheduler that is used to schedule the created continuation Task.

Retornos

Task

O novo Task de continuação.The new continuation Task.

Exceções

A matriz do tasks é null.The tasks array is null.

- ou --or- continuationAction é null.continuationAction is null.

- ou --or- scheduler é null.scheduler is null.

A matriz tasks contém um valor null.The tasks array contains a null value.

- ou --or- A matriz tasks está vazia.The tasks array is empty.

continuationOptions especifica um valor TaskContinuationOptions inválido.continuationOptions specifies an invalid TaskContinuationOptions value.

O CancellationToken fornecido já foi descartado.The provided CancellationToken has already been disposed.

Comentários

O NotOn * e somente * TaskContinuationOptions , que determinam para quais TaskStatus Estados uma continuação será executada, são ilegais com ContinueWhenAny .The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Aplica-se a

ContinueWhenAny(Task[], Action<Task>)

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Parâmetros

tasks
Task[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.The array of tasks from which to continue when one task completes.

continuationAction
Action<Task>

O delegado de ação a ser executado quando uma tarefa na matriz tasks for concluída.The action delegate to execute when one task in the tasks array completes.

Retornos

Task

O novo Task de continuação.The new continuation Task.

Exceções

Um dos elementos na matriz tasks foi descartado.One of the elements in the tasks array has been disposed.

A matriz do tasks é null.The tasks array is null.

- ou --or- O argumento continuationAction é null.The continuationAction argument is null.

A matriz tasks contém um valor null.The tasks array contains a null value.

- ou --or- A matriz tasks está vazia.The tasks array is empty.

Exemplos

O exemplo a seguir mostra como usar ContinueWhenAny e ContinueWhenAll :The following example shows how to use ContinueWhenAny and 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

Aplica-se a

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

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Parâmetros

tasks
Task[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.The array of tasks from which to continue when one task completes.

continuationAction
Action<Task>

O delegado de ação a ser executado quando uma tarefa na matriz tasks for concluída.The action delegate to execute when one task in the tasks array completes.

cancellationToken
CancellationToken

O CancellationToken que será atribuído à nova tarefa de continuação.The CancellationToken that will be assigned to the new continuation task.

Retornos

Task

O novo Task de continuação.The new continuation Task.

Exceções

Um dos elementos na matriz tasks foi descartado.One of the elements in the tasks array has been disposed.

- ou --or- cancellationToken já foi descartado.cancellationToken has already been disposed.

A matriz do tasks é null.The tasks array is null.

- ou --or- O argumento continuationAction é null.The continuationAction argument is null.

A matriz tasks contém um valor null.The tasks array contains a null value.

- ou --or- A matriz tasks está vazia.The tasks array is empty .

Aplica-se a

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

Cria um Task<TResult> de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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)

Parâmetros de tipo

TAntecedentResult

O tipo do resultado do antecessor tasks .The type of the result of the antecedent tasks.

TResult

O tipo do resultado que é retornado pelo continuationFunction delegado e associado ao criado Task<TResult> .The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

Parâmetros

tasks
Task<TAntecedentResult>[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

O delegado de função a ser executado de forma assíncrona quando uma tarefa na matriz tasks for concluída.The function delegate to execute asynchronously when one task in the tasks array completes.

continuationOptions
TaskContinuationOptions

O valor TaskContinuationOptions que controla o comportamento da Task<TResult> de continuação criada.The TaskContinuationOptions value that controls the behavior of the created continuation Task<TResult>.

Retornos

Task<TResult>

O novo Task<TResult> de continuação.The new continuation Task<TResult>.

Exceções

Um dos elementos na matriz tasks foi descartado.One of the elements in the tasks array has been disposed.

A matriz do tasks é null.The tasks array is null.

- ou --or- continuationFunction é null.continuationFunction is null.

continuationOptions especifica um valor TaskContinuationOptions inválido.continuationOptions specifies an invalid TaskContinuationOptions value.

A matriz tasks contém um valor nulo.The tasks array contains a null value.

- ou --or- A matriz tasks está vazia.The tasks array is empty.

Comentários

O NotOn * e somente * TaskContinuationOptions , que determinam para quais TaskStatus Estados uma continuação será executada, são ilegais com ContinueWhenAny .The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Aplica-se a

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

Cria um Task<TResult> de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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)

Parâmetros de tipo

TAntecedentResult

O tipo do resultado do antecessor tasks .The type of the result of the antecedent tasks.

TResult

O tipo do resultado que é retornado pelo continuationFunction delegado e associado ao criado Task<TResult> .The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

Parâmetros

tasks
Task<TAntecedentResult>[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

O delegado de função a ser executado de forma assíncrona quando uma tarefa na matriz tasks for concluída.The function delegate to execute asynchronously when one task in the tasks array completes.

Retornos

Task<TResult>

O novo Task<TResult> de continuação.The new continuation Task<TResult>.

Exceções

Um dos elementos na matriz tasks foi descartado.One of the elements in the tasks array has been disposed.

A matriz do tasks é null.The tasks array is null.

- ou --or- continuationFunction é null.continuationFunction is null.

A matriz tasks contém um valor nulo.The tasks array contains a null value.

- ou --or- A matriz tasks está vazia.The tasks array is empty.

Aplica-se a

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

Cria um Task<TResult> de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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)

Parâmetros de tipo

TAntecedentResult

O tipo do resultado do antecessor tasks .The type of the result of the antecedent tasks.

TResult

O tipo do resultado que é retornado pelo continuationFunction delegado e associado ao criado Task<TResult> .The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

Parâmetros

tasks
Task<TAntecedentResult>[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

O delegado de função a ser executado de forma assíncrona quando uma tarefa na matriz tasks for concluída.The function delegate to execute asynchronously when one task in the tasks array completes.

cancellationToken
CancellationToken

O CancellationToken que será atribuído à nova tarefa de continuação.The CancellationToken that will be assigned to the new continuation task.

Retornos

Task<TResult>

O novo Task<TResult> de continuação.The new continuation Task<TResult>.

Exceções

Um dos elementos na matriz tasks foi descartado.One of the elements in the tasks array has been disposed.

- ou --or- O CancellationToken fornecido já foi descartado.The provided CancellationToken has already been disposed.

A matriz do tasks é null.The tasks array is null.

- ou --or- continuationFunction é null.continuationFunction is null.

A matriz tasks contém um valor null.The tasks array contains a null value.

- ou --or- A matriz tasks está vazia.The tasks array is empty.

Aplica-se a

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

Cria um Task<TResult> de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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)

Parâmetros de tipo

TAntecedentResult

O tipo do resultado do antecessor tasks .The type of the result of the antecedent tasks.

TResult

O tipo do resultado que é retornado pelo continuationFunction delegado e associado ao criado Task<TResult> .The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

Parâmetros

tasks
Task<TAntecedentResult>[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

O delegado de função a ser executado de forma assíncrona quando uma tarefa na matriz tasks for concluída.The function delegate to execute asynchronously when one task in the tasks array completes.

cancellationToken
CancellationToken

O CancellationToken que será atribuído à nova tarefa de continuação.The CancellationToken that will be assigned to the new continuation task.

continuationOptions
TaskContinuationOptions

O valor TaskContinuationOptions que controla o comportamento da Task<TResult> de continuação criada.The TaskContinuationOptions value that controls the behavior of the created continuation Task<TResult>.

scheduler
TaskScheduler

O TaskScheduler usado para agendar a Task<TResult> de continuação criada.The TaskScheduler that is used to schedule the created continuation Task<TResult>.

Retornos

Task<TResult>

O novo Task<TResult> de continuação.The new continuation Task<TResult>.

Exceções

A matriz do tasks é null.The tasks array is null.

- ou --or- continuationFunction é null.continuationFunction is null.

- ou --or- scheduler é null.scheduler is null.

A matriz tasks contém um valor nulo.The tasks array contains a null value.

- ou --or- A matriz tasks está vazia.The tasks array is empty.

continuationOptions especifica um valor TaskContinuationOptions inválido.continuationOptions specifies an invalid TaskContinuationOptions value.

O CancellationToken fornecido já foi descartado.The provided CancellationToken has already been disposed.

Comentários

O NotOn * e somente * TaskContinuationOptions , que determinam para quais TaskStatus Estados uma continuação será executada, são ilegais com ContinueWhenAny .The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Aplica-se a

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

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Parâmetros de tipo

TAntecedentResult

O tipo do resultado do antecessor tasks .The type of the result of the antecedent tasks.

Parâmetros

tasks
Task<TAntecedentResult>[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.The array of tasks from which to continue when one task completes.

continuationAction
Action<Task<TAntecedentResult>>

O delegado de ação a ser executado quando uma tarefa na matriz tasks for concluída.The action delegate to execute when one task in the tasks array completes.

Retornos

Task

O novo Task de continuação.The new continuation Task.

Exceções

Um dos elementos na matriz tasks foi descartado.One of the elements in the tasks array has been disposed.

A matriz do tasks é null.The tasks array is null.

- ou --or- continuationAction é null.continuationAction is null.

A matriz tasks contém um valor null.The tasks array contains a null value.

- ou --or- A matriz tasks está vazia.The tasks array is empty.

Aplica-se a

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

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Parâmetros de tipo

TAntecedentResult

O tipo do resultado do antecessor tasks .The type of the result of the antecedent tasks.

Parâmetros

tasks
Task<TAntecedentResult>[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.The array of tasks from which to continue when one task completes.

continuationAction
Action<Task<TAntecedentResult>>

O delegado de ação a ser executado quando uma tarefa na matriz tasks for concluída.The action delegate to execute when one task in the tasks array completes.

cancellationToken
CancellationToken

O CancellationToken que será atribuído à nova tarefa de continuação.The CancellationToken that will be assigned to the new continuation task.

Retornos

Task

O novo Task de continuação.The new continuation Task.

Exceções

Um dos elementos na matriz tasks foi descartado.One of the elements in the tasks array has been disposed.

- ou --or- O CancellationToken fornecido já foi descartado.The provided CancellationToken has already been disposed.

A matriz do tasks é null.The tasks array is null.

- ou --or- continuationAction é null.continuationAction is null.

A matriz tasks contém um valor nulo.The tasks array contains a null value.

- ou --or- A matriz tasks está vazia.The tasks array is empty.

Aplica-se a

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

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Parâmetros de tipo

TAntecedentResult

O tipo do resultado do antecessor tasks .The type of the result of the antecedent tasks.

Parâmetros

tasks
Task<TAntecedentResult>[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.The array of tasks from which to continue when one task completes.

continuationAction
Action<Task<TAntecedentResult>>

O delegado de ação a ser executado quando uma tarefa na matriz tasks for concluída.The action delegate to execute when one task in the tasks array completes.

continuationOptions
TaskContinuationOptions

O valor TaskContinuationOptions que controla o comportamento da Task de continuação criada.The TaskContinuationOptions value that controls the behavior of the created continuation Task.

Retornos

Task

O novo Task de continuação.The new continuation Task.

Exceções

Um dos elementos na matriz tasks foi descartado.One of the elements in the tasks array has been disposed.

A matriz do tasks é null.The tasks array is null.

- ou --or- continuationAction é null.continuationAction is null.

continuationOptions especifica um valor TaskContinuationOptions inválido.continuationOptions specifies an invalid TaskContinuationOptions value.

A matriz tasks contém um valor nulo.The tasks array contains a null value.

- ou --or- A matriz tasks está vazia.The tasks array is empty.

Comentários

O NotOn * e somente * TaskContinuationOptions , que determinam para quais TaskStatus Estados uma continuação será executada, são ilegais com ContinueWhenAny .The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Aplica-se a

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

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Parâmetros de tipo

TAntecedentResult

O tipo do resultado do antecessor tasks .The type of the result of the antecedent tasks.

Parâmetros

tasks
Task<TAntecedentResult>[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.The array of tasks from which to continue when one task completes.

continuationAction
Action<Task<TAntecedentResult>>

O delegado de ação a ser executado quando uma tarefa na matriz tasks for concluída.The action delegate to execute when one task in the tasks array completes.

cancellationToken
CancellationToken

O CancellationToken que será atribuído à nova tarefa de continuação.The CancellationToken that will be assigned to the new continuation task.

continuationOptions
TaskContinuationOptions

O valor TaskContinuationOptions que controla o comportamento da Task de continuação criada.The TaskContinuationOptions value that controls the behavior of the created continuation Task.

scheduler
TaskScheduler

O TaskScheduler usado para agendar a Task<TResult> de continuação criada.The TaskScheduler that is used to schedule the created continuation Task<TResult>.

Retornos

Task

O novo Task de continuação.The new continuation Task.

Exceções

A matriz do tasks é null.The tasks array is null.

- ou --or- continuationAction é null.continuationAction is null.

- ou --or- paramref name="scheduler" /> é null.paramref name="scheduler" /> is null.

A matriz tasks contém um valor null.The tasks array contains a null value.

- ou --or- A matriz tasks está vazia.The tasks array is empty.

continuationOptions especifica um valor TaskContinuationOptions inválido.continuationOptions specifies an invalid TaskContinuationOptions value.

O CancellationToken fornecido já foi descartado.The provided CancellationToken has already been disposed.

Comentários

O NotOn * e somente * TaskContinuationOptions , que determinam para quais TaskStatus Estados uma continuação será executada, são ilegais com ContinueWhenAny .The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Aplica-se a

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

Cria um Task<TResult> de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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)

Parâmetros de tipo

TResult

O tipo do resultado que é retornado pelo continuationFunction delegado e associado ao criado Task<TResult> .The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

Parâmetros

tasks
Task[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task,TResult>

O delegado de função a ser executado de forma assíncrona quando uma tarefa na matriz tasks for concluída.The function delegate to execute asynchronously when one task in the tasks array completes.

Retornos

Task<TResult>

O novo Task<TResult> de continuação.The new continuation Task<TResult>.

Exceções

Um dos elementos na matriz tasks foi descartado.One of the elements in the tasks array has been disposed.

A matriz do tasks é null.The tasks array is null.

- ou --or- continuationFunction é null.continuationFunction is null.

A matriz tasks contém um valor nulo.The tasks array contains a null value.

- ou --or- A matriz tasks está vazia.The tasks array is empty.

Aplica-se a

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

Cria um Task<TResult> de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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)

Parâmetros de tipo

TResult

O tipo do resultado que é retornado pelo continuationFunction delegado e associado ao criado Task<TResult> .The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

Parâmetros

tasks
Task[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task,TResult>

O delegado de função a ser executado de forma assíncrona quando uma tarefa na matriz tasks for concluída.The function delegate to execute asynchronously when one task in the tasks array completes.

cancellationToken
CancellationToken

O CancellationToken que será atribuído à nova tarefa de continuação.The CancellationToken that will be assigned to the new continuation task.

Retornos

Task<TResult>

O novo Task<TResult> de continuação.The new continuation Task<TResult>.

Exceções

Um dos elementos na matriz tasks foi descartado.One of the elements in the tasks array has been disposed.

- ou --or- O CancellationToken fornecido já foi descartado.The provided CancellationToken has already been disposed.

A matriz do tasks é null.The tasks array is null.

- ou --or- continuationFunction é null.continuationFunction is null.

A matriz tasks contém um valor null.The tasks array contains a null value.

- ou --or- A matriz tasks está vazia.The tasks array is empty.

Aplica-se a

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

Cria um Task<TResult> de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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)

Parâmetros de tipo

TResult

O tipo do resultado que é retornado pelo continuationFunction delegado e associado ao criado Task<TResult> .The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

Parâmetros

tasks
Task[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task,TResult>

O delegado de função a ser executado de forma assíncrona quando uma tarefa na matriz tasks for concluída.The function delegate to execute asynchronously when one task in the tasks array completes.

continuationOptions
TaskContinuationOptions

O valor TaskContinuationOptions que controla o comportamento da Task<TResult> de continuação criada.The TaskContinuationOptions value that controls the behavior of the created continuation Task<TResult>.

Retornos

Task<TResult>

O novo Task<TResult> de continuação.The new continuation Task<TResult>.

Exceções

Um dos elementos na matriz tasks foi descartado.One of the elements in the tasks array has been disposed.

A matriz do tasks é null.The tasks array is null.

- ou --or- continuationFunction é null.continuationFunction is null.

continuationOptions especifica um valor TaskContinuationOptions inválido.continuationOptions specifies an invalid TaskContinuationOptions value.

A matriz tasks contém um valor null.The tasks array contains a null value.

- ou --or- A matriz tasks está vazia.The tasks array is empty.

Comentários

O NotOn * e somente * TaskContinuationOptions , que determinam para quais TaskStatus Estados uma continuação será executada, são ilegais com ContinueWhenAny .The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Aplica-se a

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

Cria um Task<TResult> de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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)

Parâmetros de tipo

TResult

O tipo do resultado que é retornado pelo continuationFunction delegado e associado ao criado Task<TResult> .The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

Parâmetros

tasks
Task[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task,TResult>

O delegado de função a ser executado de forma assíncrona quando uma tarefa na matriz tasks for concluída.The function delegate to execute asynchronously when one task in the tasks array completes.

cancellationToken
CancellationToken

O CancellationToken que será atribuído à nova tarefa de continuação.The CancellationToken that will be assigned to the new continuation task.

continuationOptions
TaskContinuationOptions

O valor TaskContinuationOptions que controla o comportamento da Task<TResult> de continuação criada.The TaskContinuationOptions value that controls the behavior of the created continuation Task<TResult>.

scheduler
TaskScheduler

O TaskScheduler usado para agendar a Task<TResult> de continuação criada.The TaskScheduler that is used to schedule the created continuation Task<TResult>.

Retornos

Task<TResult>

O novo Task<TResult> de continuação.The new continuation Task<TResult>.

Exceções

A matriz do tasks é null.The tasks array is null.

- ou --or- continuationFunction é null.continuationFunction is null.

- ou --or- scheduler é null.scheduler is null.

A matriz tasks contém um valor null.The tasks array contains a null value.

- ou --or- A matriz tasks está vazia.The tasks array is empty.

continuationOptions especifica um valor TaskContinuationOptions inválido.continuationOptions specifies an invalid TaskContinuationOptions value.

O CancellationToken fornecido já foi descartado.The provided CancellationToken has already been disposed.

Comentários

O NotOn * e somente * TaskContinuationOptions , que determinam para quais TaskStatus Estados uma continuação será executada, são ilegais com ContinueWhenAny .The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Aplica-se a