TaskFactory.ContinueWhenAny Metoda

Definicja

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

Przeciążenia

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

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

ContinueWhenAny(Task[], Action<Task>)

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Parametry

tasks
Task[]

Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.

continuationAction
Action<Task>

Delegat akcji do wykonania po zakończeniu tasks jednego zadania w tablicy.

continuationOptions
TaskContinuationOptions

TaskContinuationOptions Wartość, która kontroluje zachowanie utworzonej kontynuacji Task.

Zwraca

Task

Nowa kontynuacja Task.

Wyjątki

Jeden z elementów w tablicy tasks został usunięty.

Tablica tasks to null.

-lub- continuationAction to null.

continuationOptions określa nieprawidłową wartość TaskContinuationOptions.

Tablica tasks zawiera null wartość.

-lub- Tablica jest pusta tasks .

Uwagi

NotOn* i OnlyOn TaskContinuationOptions* , które ograniczają, dla których TaskStatus zostanie wykonana kontynuacja, są niedozwolone z .ContinueWhenAny

Zobacz też

Dotyczy

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

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Parametry

tasks
Task[]

Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.

continuationAction
Action<Task>

Delegat akcji do wykonania po zakończeniu tasks jednego zadania w tablicy.

cancellationToken
CancellationToken

Element CancellationToken , który zostanie przypisany do nowego zadania kontynuacji.

continuationOptions
TaskContinuationOptions

TaskContinuationOptions Wartość, która kontroluje zachowanie utworzonej kontynuacji Task.

scheduler
TaskScheduler

Służy TaskScheduler do planowania utworzonej kontynuacji Task.

Zwraca

Task

Nowa kontynuacja Task.

Wyjątki

Tablica tasks to null.

-lub- continuationAction to null.

-lub- scheduler to null.

Tablica tasks zawiera null wartość.

-lub- Tablica jest pusta tasks .

continuationOptions określa nieprawidłową wartość TaskContinuationOptions.

Podany CancellationToken element został już usunięty.

Uwagi

NotOn* i OnlyOn TaskContinuationOptions* , które ograniczają, dla których TaskStatus zostanie wykonana kontynuacja, są niedozwolone z .ContinueWhenAny

Zobacz też

Dotyczy

ContinueWhenAny(Task[], Action<Task>)

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Parametry

tasks
Task[]

Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.

continuationAction
Action<Task>

Delegat akcji do wykonania po zakończeniu tasks jednego zadania w tablicy.

Zwraca

Task

Nowa kontynuacja Task.

Wyjątki

Jeden z elementów w tablicy tasks został usunięty.

Tablica tasks to null.

-lub- Argumentem continuationAction jest null.

Tablica tasks zawiera null wartość.

-lub- Tablica jest pusta tasks .

Przykłady

W poniższym przykładzie pokazano, jak używać elementów ContinueWhenAny i 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

Zobacz też

Dotyczy

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

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Parametry

tasks
Task[]

Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.

continuationAction
Action<Task>

Delegat akcji do wykonania po zakończeniu tasks jednego zadania w tablicy.

cancellationToken
CancellationToken

Element CancellationToken , który zostanie przypisany do nowego zadania kontynuacji.

Zwraca

Task

Nowa kontynuacja Task.

Wyjątki

Jeden z elementów w tablicy tasks został usunięty.

-lub- cancellationToken został już usunięty.

Tablica tasks to null.

-lub- Argumentem continuationAction jest null.

Tablica tasks zawiera null wartość.

-lub- Tablica jest pusta tasks .

Zobacz też

Dotyczy

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

Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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)

Parametry typu

TAntecedentResult

Typ wyniku przedzidentu tasks.

TResult

Typ wyniku zwracanego przez delegata continuationFunction i skojarzony z utworzonym Task<TResult>elementem .

Parametry

tasks
Task<TAntecedentResult>[]

Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

Delegat funkcji do wykonania asynchronicznie po zakończeniu tasks jednego zadania w tablicy.

continuationOptions
TaskContinuationOptions

TaskContinuationOptions Wartość, która kontroluje zachowanie utworzonej kontynuacji Task<TResult>.

Zwraca

Task<TResult>

Nowa kontynuacja Task<TResult>.

Wyjątki

Jeden z elementów w tablicy tasks został usunięty.

Tablica tasks to null.

-lub- continuationFunction to null.

continuationOptions określa nieprawidłową wartość TaskContinuationOptions.

Tablica tasks zawiera wartość null.

-lub- Tablica jest pusta tasks .

Uwagi

NotOn* i OnlyOn TaskContinuationOptions* , które ograniczają, dla których TaskStatus zostanie wykonana kontynuacja, są niedozwolone z .ContinueWhenAny

Zobacz też

Dotyczy

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

Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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)

Parametry typu

TAntecedentResult

Typ wyniku przedzidentu tasks.

TResult

Typ wyniku zwracanego przez delegata continuationFunction i skojarzony z utworzonym Task<TResult>elementem .

Parametry

tasks
Task<TAntecedentResult>[]

Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

Delegat funkcji do wykonania asynchronicznie po zakończeniu tasks jednego zadania w tablicy.

Zwraca

Task<TResult>

Nowa kontynuacja Task<TResult>.

Wyjątki

Jeden z elementów w tablicy tasks został usunięty.

Tablica tasks to null.

-lub- continuationFunction to null.

Tablica tasks zawiera wartość null.

-lub- Tablica jest pusta tasks .

Zobacz też

Dotyczy

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

Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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)

Parametry typu

TAntecedentResult

Typ wyniku przedzidentu tasks.

TResult

Typ wyniku zwracanego przez delegata continuationFunction i skojarzony z utworzonym Task<TResult>elementem .

Parametry

tasks
Task<TAntecedentResult>[]

Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

Delegat funkcji do wykonania asynchronicznie po zakończeniu tasks jednego zadania w tablicy.

cancellationToken
CancellationToken

Element CancellationToken , który zostanie przypisany do nowego zadania kontynuacji.

Zwraca

Task<TResult>

Nowa kontynuacja Task<TResult>.

Wyjątki

Jeden z elementów w tablicy tasks został usunięty.

-lub- Podany CancellationToken element został już usunięty.

Tablica tasks to null.

-lub- continuationFunction to null.

Tablica tasks zawiera null wartość.

-lub- Tablica jest pusta tasks .

Zobacz też

Dotyczy

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

Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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)

Parametry typu

TAntecedentResult

Typ wyniku przedzidentu tasks.

TResult

Typ wyniku zwracanego przez delegata continuationFunction i skojarzony z utworzonym Task<TResult>elementem .

Parametry

tasks
Task<TAntecedentResult>[]

Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

Delegat funkcji do wykonania asynchronicznie po zakończeniu tasks jednego zadania w tablicy.

cancellationToken
CancellationToken

Element CancellationToken , który zostanie przypisany do nowego zadania kontynuacji.

continuationOptions
TaskContinuationOptions

TaskContinuationOptions Wartość, która kontroluje zachowanie utworzonej kontynuacji Task<TResult>.

scheduler
TaskScheduler

Służy TaskScheduler do planowania utworzonej kontynuacji Task<TResult>.

Zwraca

Task<TResult>

Nowa kontynuacja Task<TResult>.

Wyjątki

Tablica tasks to null.

-lub- continuationFunction to null.

-lub- scheduler to null.

Tablica tasks zawiera wartość null.

-lub- Tablica jest pusta tasks .

continuationOptions określa nieprawidłową wartość TaskContinuationOptions.

Podany CancellationToken element został już usunięty.

Uwagi

NotOn* i OnlyOn TaskContinuationOptions* , które ograniczają, dla których TaskStatus zostanie wykonana kontynuacja, są niedozwolone z .ContinueWhenAny

Zobacz też

Dotyczy

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

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Parametry typu

TAntecedentResult

Typ wyniku przedzidentu tasks.

Parametry

tasks
Task<TAntecedentResult>[]

Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.

continuationAction
Action<Task<TAntecedentResult>>

Delegat akcji do wykonania po zakończeniu tasks jednego zadania w tablicy.

Zwraca

Task

Nowa kontynuacja Task.

Wyjątki

Jeden z elementów w tablicy tasks został usunięty.

Tablica tasks to null.

-lub- continuationAction to null.

Tablica tasks zawiera null wartość.

-lub- Tablica jest pusta tasks .

Zobacz też

Dotyczy

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

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Parametry typu

TAntecedentResult

Typ wyniku przedzidentu tasks.

Parametry

tasks
Task<TAntecedentResult>[]

Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.

continuationAction
Action<Task<TAntecedentResult>>

Delegat akcji do wykonania po zakończeniu tasks jednego zadania w tablicy.

cancellationToken
CancellationToken

Element CancellationToken , który zostanie przypisany do nowego zadania kontynuacji.

Zwraca

Task

Nowa kontynuacja Task.

Wyjątki

Jeden z elementów w tablicy tasks został usunięty.

-lub- Podany CancellationToken element został już usunięty.

Tablica tasks to null.

-lub- continuationAction to null.

Tablica tasks zawiera wartość null.

-lub- Tablica jest pusta tasks .

Zobacz też

Dotyczy

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

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Parametry typu

TAntecedentResult

Typ wyniku przedzidentu tasks.

Parametry

tasks
Task<TAntecedentResult>[]

Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.

continuationAction
Action<Task<TAntecedentResult>>

Delegat akcji do wykonania po zakończeniu tasks jednego zadania w tablicy.

continuationOptions
TaskContinuationOptions

TaskContinuationOptions Wartość, która kontroluje zachowanie utworzonej kontynuacji Task.

Zwraca

Task

Nowa kontynuacja Task.

Wyjątki

Jeden z elementów w tablicy tasks został usunięty.

Tablica tasks to null.

-lub- continuationAction to null.

continuationOptions określa nieprawidłową wartość TaskContinuationOptions.

Tablica tasks zawiera wartość null.

-lub- Tablica jest pusta tasks .

Uwagi

NotOn* i OnlyOn TaskContinuationOptions* , które ograniczają, dla których TaskStatus zostanie wykonana kontynuacja, są niedozwolone z .ContinueWhenAny

Zobacz też

Dotyczy

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

Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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

Parametry typu

TAntecedentResult

Typ wyniku przedzidentu tasks.

Parametry

tasks
Task<TAntecedentResult>[]

Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.

continuationAction
Action<Task<TAntecedentResult>>

Delegat akcji do wykonania po zakończeniu tasks jednego zadania w tablicy.

cancellationToken
CancellationToken

Element CancellationToken , który zostanie przypisany do nowego zadania kontynuacji.

continuationOptions
TaskContinuationOptions

TaskContinuationOptions Wartość, która kontroluje zachowanie utworzonej kontynuacji Task.

scheduler
TaskScheduler

Służy TaskScheduler do planowania utworzonej kontynuacji Task<TResult>.

Zwraca

Task

Nowa kontynuacja Task.

Wyjątki

Tablica tasks to null.

-lub- continuationAction to null.

-lub- paramref name="scheduler" /> to null.

Tablica tasks zawiera null wartość.

-lub- Tablica jest pusta tasks .

continuationOptions określa nieprawidłową TaskContinuationOptions wartość.

Podany CancellationToken element został już usunięty.

Uwagi

NotOn* i OnlyOn TaskContinuationOptions* , które ograniczają, dla których TaskStatus zostanie wykonana kontynuacja, są niedozwolone z .ContinueWhenAny

Zobacz też

Dotyczy

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

Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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)

Parametry typu

TResult

Typ wyniku zwracanego przez delegata continuationFunction i skojarzony z utworzonym Task<TResult>elementem .

Parametry

tasks
Task[]

Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.

continuationFunction
Func<Task,TResult>

Delegat funkcji do wykonania asynchronicznie po zakończeniu tasks jednego zadania w tablicy.

Zwraca

Task<TResult>

Nowa kontynuacja Task<TResult>.

Wyjątki

Jeden z elementów w tablicy tasks został usunięty.

Tablica tasks to null.

-lub- continuationFunction to null.

Tablica tasks zawiera wartość null.

-lub- Tablica jest pusta tasks .

Zobacz też

Dotyczy

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

Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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)

Parametry typu

TResult

Typ wyniku zwracanego przez delegata continuationFunction i skojarzony z utworzonym Task<TResult>elementem .

Parametry

tasks
Task[]

Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.

continuationFunction
Func<Task,TResult>

Delegat funkcji do wykonania asynchronicznie po zakończeniu tasks jednego zadania w tablicy.

cancellationToken
CancellationToken

Element CancellationToken , który zostanie przypisany do nowego zadania kontynuacji.

Zwraca

Task<TResult>

Nowa kontynuacja Task<TResult>.

Wyjątki

Jeden z elementów w tablicy tasks został usunięty.

-lub- Podany CancellationToken element został już usunięty.

Tablica tasks to null.

-lub- continuationFunction to null.

Tablica tasks zawiera null wartość.

-lub- Tablica jest pusta tasks .

Zobacz też

Dotyczy

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

Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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)

Parametry typu

TResult

Typ wyniku zwracanego przez delegata continuationFunction i skojarzony z utworzonym Task<TResult>elementem .

Parametry

tasks
Task[]

Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.

continuationFunction
Func<Task,TResult>

Delegat funkcji do wykonania asynchronicznie po zakończeniu tasks jednego zadania w tablicy.

continuationOptions
TaskContinuationOptions

TaskContinuationOptions Wartość, która kontroluje zachowanie utworzonej kontynuacji Task<TResult>.

Zwraca

Task<TResult>

Nowa kontynuacja Task<TResult>.

Wyjątki

Jeden z elementów w tablicy tasks został usunięty.

Tablica tasks to null.

-lub- continuationFunction to null.

continuationOptions określa nieprawidłową wartość TaskContinuationOptions.

Tablica tasks zawiera null wartość.

-lub- Tablica jest pusta tasks .

Uwagi

NotOn* i OnlyOn TaskContinuationOptions* , które ograniczają, dla których TaskStatus zostanie wykonana kontynuacja, są niedozwolone z .ContinueWhenAny

Zobacz też

Dotyczy

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

Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.

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)

Parametry typu

TResult

Typ wyniku zwracanego przez delegata continuationFunction i skojarzony z utworzonym Task<TResult>elementem .

Parametry

tasks
Task[]

Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.

continuationFunction
Func<Task,TResult>

Delegat funkcji do wykonania asynchronicznie po zakończeniu tasks jednego zadania w tablicy.

cancellationToken
CancellationToken

Element CancellationToken , który zostanie przypisany do nowego zadania kontynuacji.

continuationOptions
TaskContinuationOptions

TaskContinuationOptions Wartość, która kontroluje zachowanie utworzonej kontynuacji Task<TResult>.

scheduler
TaskScheduler

Służy TaskScheduler do planowania utworzonej kontynuacji Task<TResult>.

Zwraca

Task<TResult>

Nowa kontynuacja Task<TResult>.

Wyjątki

Tablica tasks to null.

-lub- continuationFunction to null.

-lub- scheduler to null.

Tablica tasks zawiera null wartość.

-lub- Tablica jest pusta tasks .

continuationOptions określa nieprawidłową wartość TaskContinuationOptions.

Podany CancellationToken element został już usunięty.

Uwagi

NotOn* i OnlyOn TaskContinuationOptions* , które ograniczają, dla których TaskStatus zostanie wykonana kontynuacja, są niedozwolone z .ContinueWhenAny

Zobacz też

Dotyczy