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.

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.

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.

ContinueWhenAny(Task[], Action<Task>)

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.

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

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

Cria um Task de continuação que será iniciado mediante a conclusão de qualquer Tarefa no conjunto fornecido.

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

Parâmetros

tasks
Task[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.

continuationAction
Action<Task>

O delegado de ação a ser executado quando uma tarefa na matriz tasks for concluída.

continuationOptions
TaskContinuationOptions

O valor TaskContinuationOptions que controla o comportamento da Task de continuação criada.

Retornos

Task

O novo Task de continuação.

Exceções

Um dos elementos na matriz tasks foi descartado.

A matriz do tasks é null.

- ou - continuationAction é null.

continuationOptions especifica um valor TaskContinuationOptions inválido.

A matriz tasks contém um valor null.

- ou - A matriz tasks está vazia.

Comentários

O NotOn* e o OnlyOn*TaskContinuationOptions, que restringem para os quais TaskStatus estados uma continuação será executada, são ilegais com ContinueWhenAny.

Confira também

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.

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

Parâmetros

tasks
Task[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.

continuationAction
Action<Task>

O delegado de ação a ser executado quando uma tarefa na matriz tasks for concluída.

cancellationToken
CancellationToken

O CancellationToken que será atribuído à nova tarefa de continuação.

continuationOptions
TaskContinuationOptions

O valor TaskContinuationOptions que controla o comportamento da Task de continuação criada.

scheduler
TaskScheduler

O TaskScheduler usado para agendar a Task de continuação criada.

Retornos

Task

O novo Task de continuação.

Exceções

A matriz do tasks é null.

- ou - continuationAction é null.

- ou - scheduler é null.

A matriz tasks contém um valor null.

- ou - A matriz tasks está vazia.

continuationOptions especifica um valor TaskContinuationOptions inválido.

O CancellationToken fornecido já foi descartado.

Comentários

O NotOn* e o OnlyOn* TaskContinuationOptions, que restringem para os quais TaskStatus estados uma continuação será executada, são ilegais com ContinueWhenAny.

Confira também

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.

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

Parâmetros

tasks
Task[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.

continuationAction
Action<Task>

O delegado de ação a ser executado quando uma tarefa na matriz tasks for concluída.

Retornos

Task

O novo Task de continuação.

Exceções

Um dos elementos na matriz tasks foi descartado.

A matriz do tasks é null.

- ou - O argumento continuationAction é null.

A matriz tasks contém um valor null.

- ou - A matriz tasks está vazia.

Exemplos

O exemplo a seguir mostra como usar ContinueWhenAny e 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();
    }
}

Confira também

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.

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

Parâmetros

tasks
Task[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.

continuationAction
Action<Task>

O delegado de ação a ser executado quando uma tarefa na matriz tasks for concluída.

cancellationToken
CancellationToken

O CancellationToken que será atribuído à nova tarefa de continuação.

Retornos

Task

O novo Task de continuação.

Exceções

Um dos elementos na matriz tasks foi descartado.

- ou - cancellationToken já foi descartado.

A matriz do tasks é null.

- ou - O argumento continuationAction é null.

A matriz tasks contém um valor null.

- ou - A matriz tasks está vazia.

Confira também

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.

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

Parâmetros de tipo

TAntecedentResult

O tipo do resultado do antecedente tasks.

TResult

O tipo do resultado que é retornado pelo continuationFunction delegado e associado ao criado Task<TResult>.

Parâmetros

tasks
Task<TAntecedentResult>[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.

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.

continuationOptions
TaskContinuationOptions

O valor TaskContinuationOptions que controla o comportamento da Task<TResult> de continuação criada.

Retornos

Task<TResult>

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

Exceções

Um dos elementos na matriz tasks foi descartado.

A matriz do tasks é null.

- ou - continuationFunction é null.

continuationOptions especifica um valor TaskContinuationOptions inválido.

A matriz tasks contém um valor nulo.

- ou - A matriz tasks está vazia.

Comentários

O NotOn* e o OnlyOn*TaskContinuationOptions, que restringem para os quais TaskStatus estados uma continuação será executada, são ilegais com ContinueWhenAny.

Confira também

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.

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

Parâmetros de tipo

TAntecedentResult

O tipo do resultado do antecedente tasks.

TResult

O tipo do resultado retornado pelo continuationFunction delegado e associado ao criado Task<TResult>.

Parâmetros

tasks
Task<TAntecedentResult>[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.

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.

Retornos

Task<TResult>

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

Exceções

Um dos elementos na matriz tasks foi descartado.

A matriz do tasks é null.

- ou - continuationFunction é null.

A matriz tasks contém um valor nulo.

- ou - A matriz tasks está vazia.

Confira também

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.

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

Parâmetros de tipo

TAntecedentResult

O tipo do resultado do antecedente tasks.

TResult

O tipo do resultado retornado pelo continuationFunction delegado e associado ao criado Task<TResult>.

Parâmetros

tasks
Task<TAntecedentResult>[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.

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.

cancellationToken
CancellationToken

O CancellationToken que será atribuído à nova tarefa de continuação.

Retornos

Task<TResult>

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

Exceções

Um dos elementos na matriz tasks foi descartado.

- ou - O CancellationToken fornecido já foi descartado.

A matriz do tasks é null.

- ou - continuationFunction é null.

A matriz tasks contém um valor null.

- ou - A matriz tasks está vazia.

Confira também

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.

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

Parâmetros de tipo

TAntecedentResult

O tipo do resultado do antecedente tasks.

TResult

O tipo do resultado que é retornado pelo continuationFunction delegado e associado ao criado Task<TResult>.

Parâmetros

tasks
Task<TAntecedentResult>[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.

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.

cancellationToken
CancellationToken

O CancellationToken que será atribuído à nova tarefa de continuação.

continuationOptions
TaskContinuationOptions

O valor TaskContinuationOptions que controla o comportamento da Task<TResult> de continuação criada.

scheduler
TaskScheduler

O TaskScheduler usado para agendar a Task<TResult> de continuação criada.

Retornos

Task<TResult>

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

Exceções

A matriz do tasks é null.

- ou - continuationFunction é null.

- ou - scheduler é null.

A matriz tasks contém um valor nulo.

- ou - A matriz tasks está vazia.

continuationOptions especifica um valor TaskContinuationOptions inválido.

O CancellationToken fornecido já foi descartado.

Comentários

O NotOn* e o OnlyOn*TaskContinuationOptions, que restringem para os quais TaskStatus estados uma continuação será executada, são ilegais com ContinueWhenAny.

Confira também

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.

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

Parâmetros de tipo

TAntecedentResult

O tipo do resultado do antecedente tasks.

Parâmetros

tasks
Task<TAntecedentResult>[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.

continuationAction
Action<Task<TAntecedentResult>>

O delegado de ação a ser executado quando uma tarefa na matriz tasks for concluída.

Retornos

Task

O novo Task de continuação.

Exceções

Um dos elementos na matriz tasks foi descartado.

A matriz do tasks é null.

- ou - continuationAction é null.

A matriz tasks contém um valor null.

- ou - A matriz tasks está vazia.

Confira também

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.

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

Parâmetros de tipo

TAntecedentResult

O tipo do resultado do antecedente tasks.

Parâmetros

tasks
Task<TAntecedentResult>[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.

continuationAction
Action<Task<TAntecedentResult>>

O delegado de ação a ser executado quando uma tarefa na matriz tasks for concluída.

cancellationToken
CancellationToken

O CancellationToken que será atribuído à nova tarefa de continuação.

Retornos

Task

O novo Task de continuação.

Exceções

Um dos elementos na matriz tasks foi descartado.

- ou - O CancellationToken fornecido já foi descartado.

A matriz do tasks é null.

- ou - continuationAction é null.

A matriz tasks contém um valor nulo.

- ou - A matriz tasks está vazia.

Confira também

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.

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

Parâmetros de tipo

TAntecedentResult

O tipo do resultado do antecedente tasks.

Parâmetros

tasks
Task<TAntecedentResult>[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.

continuationAction
Action<Task<TAntecedentResult>>

O delegado de ação a ser executado quando uma tarefa na matriz tasks for concluída.

continuationOptions
TaskContinuationOptions

O valor TaskContinuationOptions que controla o comportamento da Task de continuação criada.

Retornos

Task

O novo Task de continuação.

Exceções

Um dos elementos na matriz tasks foi descartado.

A matriz do tasks é null.

- ou - continuationAction é null.

continuationOptions especifica um valor TaskContinuationOptions inválido.

A matriz tasks contém um valor nulo.

- ou - A matriz tasks está vazia.

Comentários

O NotOn* e o OnlyOn* TaskContinuationOptions, que restringem para os quais TaskStatus estados uma continuação será executada, são ilegais com ContinueWhenAny.

Confira também

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.

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

Parâmetros de tipo

TAntecedentResult

O tipo do resultado do antecedente tasks.

Parâmetros

tasks
Task<TAntecedentResult>[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.

continuationAction
Action<Task<TAntecedentResult>>

O delegado de ação a ser executado quando uma tarefa na matriz tasks for concluída.

cancellationToken
CancellationToken

O CancellationToken que será atribuído à nova tarefa de continuação.

continuationOptions
TaskContinuationOptions

O valor TaskContinuationOptions que controla o comportamento da Task de continuação criada.

scheduler
TaskScheduler

O TaskScheduler usado para agendar a Task<TResult> de continuação criada.

Retornos

Task

O novo Task de continuação.

Exceções

A matriz do tasks é null.

- ou - continuationAction é null.

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

A matriz tasks contém um valor null.

- ou - A matriz tasks está vazia.

continuationOptions especifica um valor TaskContinuationOptions inválido.

O CancellationToken fornecido já foi descartado.

Comentários

O NotOn* e o OnlyOn* TaskContinuationOptions, que restringem para os quais TaskStatus estados uma continuação será executada, são ilegais com ContinueWhenAny.

Confira também

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.

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

Parâmetros de tipo

TResult

O tipo do resultado retornado pelo continuationFunction delegado e associado ao criado Task<TResult>.

Parâmetros

tasks
Task[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.

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.

Retornos

Task<TResult>

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

Exceções

Um dos elementos na matriz tasks foi descartado.

A matriz do tasks é null.

- ou - continuationFunction é null.

A matriz tasks contém um valor nulo.

- ou - A matriz tasks está vazia.

Confira também

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.

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

Parâmetros de tipo

TResult

O tipo do resultado retornado pelo continuationFunction delegado e associado ao criado Task<TResult>.

Parâmetros

tasks
Task[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.

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.

cancellationToken
CancellationToken

O CancellationToken que será atribuído à nova tarefa de continuação.

Retornos

Task<TResult>

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

Exceções

Um dos elementos na matriz tasks foi descartado.

- ou - O CancellationToken fornecido já foi descartado.

A matriz do tasks é null.

- ou - continuationFunction é null.

A matriz tasks contém um valor null.

- ou - A matriz tasks está vazia.

Confira também

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.

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

Parâmetros de tipo

TResult

O tipo do resultado retornado pelo continuationFunction delegado e associado ao criado Task<TResult>.

Parâmetros

tasks
Task[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.

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.

continuationOptions
TaskContinuationOptions

O valor TaskContinuationOptions que controla o comportamento da Task<TResult> de continuação criada.

Retornos

Task<TResult>

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

Exceções

Um dos elementos na matriz tasks foi descartado.

A matriz do tasks é null.

- ou - continuationFunction é null.

continuationOptions especifica um valor TaskContinuationOptions inválido.

A matriz tasks contém um valor null.

- ou - A matriz tasks está vazia.

Comentários

O NotOn* e o OnlyOn* TaskContinuationOptions, que restringem para os quais TaskStatus estados uma continuação será executada, são ilegais com ContinueWhenAny.

Confira também

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.

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

Parâmetros de tipo

TResult

O tipo do resultado retornado pelo continuationFunction delegado e associado ao criado Task<TResult>.

Parâmetros

tasks
Task[]

A matriz de tarefas da qual continuar quando uma tarefa for concluída.

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.

cancellationToken
CancellationToken

O CancellationToken que será atribuído à nova tarefa de continuação.

continuationOptions
TaskContinuationOptions

O valor TaskContinuationOptions que controla o comportamento da Task<TResult> de continuação criada.

scheduler
TaskScheduler

O TaskScheduler usado para agendar a Task<TResult> de continuação criada.

Retornos

Task<TResult>

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

Exceções

A matriz do tasks é null.

- ou - continuationFunction é null.

- ou - scheduler é null.

A matriz tasks contém um valor null.

- ou - A matriz tasks está vazia.

continuationOptions especifica um valor TaskContinuationOptions inválido.

O CancellationToken fornecido já foi descartado.

Comentários

O NotOn* e o OnlyOn* TaskContinuationOptions, que restringem para os quais TaskStatus estados uma continuação será executada, são ilegais com ContinueWhenAny.

Confira também

Aplica-se a