Sdílet prostřednictvím


TaskFactory.ContinueWhenAny Metoda

Definice

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

Přetížení

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

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

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

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

ContinueWhenAny(Task[], Action<Task>)

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

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

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

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

Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.

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

Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.

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

Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.

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

Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.

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

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

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

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

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

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

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

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

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

Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.

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

Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.

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

Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.

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

Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.

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

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

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[]

Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.

continuationAction
Action<Task>

Delegát akce, který se má provést, když se dokončí jeden úkol v tasks poli.

continuationOptions
TaskContinuationOptions

Hodnota TaskContinuationOptions , která řídí chování vytvořené pokračování Task.

Návraty

Task

Nové pokračování Task.

Výjimky

Jeden z prvků v tasks poli byl odstraněn.

Pole tasks je null.

-nebo- continuationAction je null.

continuationOptions určuje neplatnou hodnotu TaskContinuationOptions.

Pole tasks obsahuje null hodnotu.

-nebo- Pole tasks je prázdné.

Poznámky

NotOn and OnlyOn** TaskContinuationOptions, které omezení, pro které TaskStatus stavy bude pokračování spuštěno, jsou nelegální s .ContinueWhenAny

Viz také

Platí pro

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

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

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[]

Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.

continuationAction
Action<Task>

Delegát akce, který se má provést, když se dokončí jeden úkol v tasks poli.

cancellationToken
CancellationToken

Ta CancellationToken bude přiřazena novému úkolu pokračování.

continuationOptions
TaskContinuationOptions

Hodnota TaskContinuationOptions , která řídí chování vytvořené pokračování Task.

scheduler
TaskScheduler

Slouží TaskScheduler k naplánování vytvořeného pokračování Task.

Návraty

Task

Nové pokračování Task.

Výjimky

Pole tasks je null.

-nebo- continuationAction je null.

-nebo- scheduler je null.

Pole tasks obsahuje null hodnotu.

-nebo- Pole tasks je prázdné.

continuationOptions určuje neplatnou hodnotu TaskContinuationOptions.

CancellationToken Poskytnutá služba již byla odstraněna.

Poznámky

NotOn and OnlyOn** TaskContinuationOptions, které omezení, pro které TaskStatus stavy bude pokračování spuštěno, jsou nelegální s .ContinueWhenAny

Viz také

Platí pro

ContinueWhenAny(Task[], Action<Task>)

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

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[]

Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.

continuationAction
Action<Task>

Delegát akce, který se má provést, když se dokončí jeden úkol v tasks poli.

Návraty

Task

Nové pokračování Task.

Výjimky

Jeden z prvků v tasks poli byl odstraněn.

Pole tasks je null.

-nebo- Argument continuationAction je null.

Pole tasks obsahuje null hodnotu.

-nebo- Pole tasks je prázdné.

Příklady

Následující příklad ukazuje, jak používat ContinueWhenAny a 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

Viz také

Platí pro

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

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

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[]

Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.

continuationAction
Action<Task>

Delegát akce, který se má provést, když se dokončí jeden úkol v tasks poli.

cancellationToken
CancellationToken

Ta CancellationToken bude přiřazena novému úkolu pokračování.

Návraty

Task

Nové pokračování Task.

Výjimky

Jeden z prvků v tasks poli byl odstraněn.

-nebo- cancellationToken již byla odstraněna.

Pole tasks je null.

-nebo- Argument continuationAction je null.

Pole tasks obsahuje null hodnotu.

-nebo- Pole tasks je prázdné .

Viz také

Platí pro

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

Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.

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 výsledku antecedentu tasks.

TResult

Typ výsledku vráceného continuationFunction delegátem a přidružený k vytvořenému Task<TResult>.

Parametry

tasks
Task<TAntecedentResult>[]

Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

Delegát funkce, který se má spustit asynchronně, když se dokončí jeden úkol v tasks poli.

continuationOptions
TaskContinuationOptions

Hodnota TaskContinuationOptions , která řídí chování vytvořené pokračování Task<TResult>.

Návraty

Task<TResult>

Nové pokračování Task<TResult>.

Výjimky

Jeden z prvků v tasks poli byl odstraněn.

Pole tasks je null.

-nebo- continuationFunction je null.

continuationOptions určuje neplatnou hodnotu TaskContinuationOptions.

Pole tasks obsahuje hodnotu null.

-nebo- Pole tasks je prázdné.

Poznámky

NotOn and OnlyOn** TaskContinuationOptions, které omezení, pro které TaskStatus stavy bude pokračování spuštěno, jsou nelegální s .ContinueWhenAny

Viz také

Platí pro

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

Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.

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 výsledku antecedentu tasks.

TResult

Typ výsledku vráceného delegátem continuationFunction a přidruženým k vytvořenému Task<TResult>.

Parametry

tasks
Task<TAntecedentResult>[]

Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

Funkce deleguje provádění asynchronně, když se dokončí jeden úkol v tasks poli.

Návraty

Task<TResult>

Nové pokračování Task<TResult>.

Výjimky

Jeden z prvků v tasks poli byl odstraněn.

Pole tasks je null.

-nebo- continuationFunction je null.

Pole tasks obsahuje hodnotu null.

-nebo- Pole tasks je prázdné.

Viz také

Platí pro

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

Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.

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 výsledku antecedentu tasks.

TResult

Typ výsledku vráceného delegátem continuationFunction a přidruženým k vytvořenému Task<TResult>.

Parametry

tasks
Task<TAntecedentResult>[]

Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

Funkce deleguje provádění asynchronně, když se dokončí jeden úkol v tasks poli.

cancellationToken
CancellationToken

Ta CancellationToken bude přiřazena k novému úkolu pokračování.

Návraty

Task<TResult>

Nové pokračování Task<TResult>.

Výjimky

Jeden z prvků v tasks poli byl odstraněn.

-nebo- CancellationToken Poskytnutá služba již byla odstraněna.

Pole tasks je null.

-nebo- continuationFunction je null.

Pole tasks obsahuje null hodnotu.

-nebo- Pole tasks je prázdné.

Viz také

Platí pro

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

Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.

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 výsledku antecedentu tasks.

TResult

Typ výsledku vráceného continuationFunction delegátem a přidružený k vytvořenému Task<TResult>.

Parametry

tasks
Task<TAntecedentResult>[]

Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

Delegát funkce, který se má spustit asynchronně, když se dokončí jeden úkol v tasks poli.

cancellationToken
CancellationToken

Ta CancellationToken bude přiřazena novému úkolu pokračování.

continuationOptions
TaskContinuationOptions

Hodnota TaskContinuationOptions , která řídí chování vytvořené pokračování Task<TResult>.

scheduler
TaskScheduler

Slouží TaskScheduler k naplánování vytvořeného pokračování Task<TResult>.

Návraty

Task<TResult>

Nové pokračování Task<TResult>.

Výjimky

Pole tasks je null.

-nebo- continuationFunction je null.

-nebo- scheduler je null.

Pole tasks obsahuje hodnotu null.

-nebo- Pole tasks je prázdné.

continuationOptions určuje neplatnou hodnotu TaskContinuationOptions.

CancellationToken Poskytnutá služba již byla odstraněna.

Poznámky

NotOn and OnlyOn** TaskContinuationOptions, které omezení, pro které TaskStatus stavy bude pokračování spuštěno, jsou nelegální s .ContinueWhenAny

Viz také

Platí pro

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

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

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 výsledku antecedentu tasks.

Parametry

tasks
Task<TAntecedentResult>[]

Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.

continuationAction
Action<Task<TAntecedentResult>>

Delegát akce, který se má provést, když se dokončí jeden úkol v tasks poli.

Návraty

Task

Nové pokračování Task.

Výjimky

Jeden z prvků v tasks poli byl odstraněn.

Pole tasks je null.

-nebo- continuationAction je null.

Pole tasks obsahuje null hodnotu.

-nebo- Pole tasks je prázdné.

Viz také

Platí pro

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

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

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 výsledku antecedentu tasks.

Parametry

tasks
Task<TAntecedentResult>[]

Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.

continuationAction
Action<Task<TAntecedentResult>>

Delegát akce, který se má provést, když se dokončí jeden úkol v tasks poli.

cancellationToken
CancellationToken

Ta CancellationToken bude přiřazena novému úkolu pokračování.

Návraty

Task

Nové pokračování Task.

Výjimky

Jeden z prvků v tasks poli byl odstraněn.

-nebo- CancellationToken Poskytnutá služba již byla odstraněna.

Pole tasks je null.

-nebo- continuationAction je null.

Pole tasks obsahuje hodnotu null.

-nebo- Pole tasks je prázdné.

Viz také

Platí pro

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

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

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 výsledku antecedentu tasks.

Parametry

tasks
Task<TAntecedentResult>[]

Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.

continuationAction
Action<Task<TAntecedentResult>>

Delegát akce, který se má provést, když se dokončí jeden úkol v tasks poli.

continuationOptions
TaskContinuationOptions

Hodnota TaskContinuationOptions , která řídí chování vytvořené pokračování Task.

Návraty

Task

Nové pokračování Task.

Výjimky

Jeden z prvků v tasks poli byl odstraněn.

Pole tasks je null.

-nebo- continuationAction je null.

continuationOptions určuje neplatnou hodnotu TaskContinuationOptions.

Pole tasks obsahuje hodnotu null.

-nebo- Pole tasks je prázdné.

Poznámky

NotOn and OnlyOn** TaskContinuationOptions, které omezení, pro které TaskStatus stavy bude pokračování spuštěno, jsou nelegální s .ContinueWhenAny

Viz také

Platí pro

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

Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.

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 výsledku antecedentu tasks.

Parametry

tasks
Task<TAntecedentResult>[]

Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.

continuationAction
Action<Task<TAntecedentResult>>

Delegát akce, který se má provést, když se dokončí jeden úkol v tasks poli.

cancellationToken
CancellationToken

Ta CancellationToken bude přiřazena novému úkolu pokračování.

continuationOptions
TaskContinuationOptions

Hodnota TaskContinuationOptions , která řídí chování vytvořené pokračování Task.

scheduler
TaskScheduler

Slouží TaskScheduler k naplánování vytvořeného pokračování Task<TResult>.

Návraty

Task

Nové pokračování Task.

Výjimky

Pole tasks je null.

-nebo- continuationAction je null.

-nebo- paramref name="scheduler" /> je null.

Pole tasks obsahuje null hodnotu.

-nebo- Pole tasks je prázdné.

continuationOptions určuje neplatnou TaskContinuationOptions hodnotu.

CancellationToken Poskytnutá služba již byla odstraněna.

Poznámky

NotOn and OnlyOn** TaskContinuationOptions, které omezení, pro které TaskStatus stavy bude pokračování spuštěno, jsou nelegální s .ContinueWhenAny

Viz také

Platí pro

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

Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.

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 výsledku vráceného delegátem continuationFunction a přidruženým k vytvořenému Task<TResult>.

Parametry

tasks
Task[]

Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.

continuationFunction
Func<Task,TResult>

Funkce deleguje provádění asynchronně, když se dokončí jeden úkol v tasks poli.

Návraty

Task<TResult>

Nové pokračování Task<TResult>.

Výjimky

Jeden z prvků v tasks poli byl odstraněn.

Pole tasks je null.

-nebo- continuationFunction je null.

Pole tasks obsahuje hodnotu null.

-nebo- Pole tasks je prázdné.

Viz také

Platí pro

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

Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.

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 výsledku vráceného delegátem continuationFunction a přidruženým k vytvořenému Task<TResult>.

Parametry

tasks
Task[]

Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.

continuationFunction
Func<Task,TResult>

Funkce deleguje provádění asynchronně, když se dokončí jeden úkol v tasks poli.

cancellationToken
CancellationToken

Ta CancellationToken bude přiřazena k novému úkolu pokračování.

Návraty

Task<TResult>

Nové pokračování Task<TResult>.

Výjimky

Jeden z prvků v tasks poli byl odstraněn.

-nebo- CancellationToken Poskytnutý již byl vyřazen.

Pole tasks je null.

-nebo- continuationFunction je null.

Pole tasks obsahuje null hodnotu.

-nebo- Pole tasks je prázdné.

Viz také

Platí pro

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

Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.

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 výsledku vráceného delegátem continuationFunction a přidruženým k vytvořenému Task<TResult>.

Parametry

tasks
Task[]

Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.

continuationFunction
Func<Task,TResult>

Funkce deleguje provádění asynchronně, když se dokončí jeden úkol v tasks poli.

continuationOptions
TaskContinuationOptions

Hodnota TaskContinuationOptions , která řídí chování vytvořené pokračování Task<TResult>.

Návraty

Task<TResult>

Nové pokračování Task<TResult>.

Výjimky

Jeden z prvků v tasks poli byl odstraněn.

Pole tasks je null.

-nebo- continuationFunction je null.

continuationOptions určuje neplatnou hodnotu TaskContinuationOptions.

Pole tasks obsahuje null hodnotu.

-nebo- Pole tasks je prázdné.

Poznámky

NotOn* a OnlyOn TaskContinuationOptions* , které omezení, pro které TaskStatus stavy bude pokračování spuštěno, jsou neplatné s ContinueWhenAny.

Viz také

Platí pro

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

Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.

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 výsledku vráceného delegátem continuationFunction a přidruženým k vytvořenému Task<TResult>.

Parametry

tasks
Task[]

Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.

continuationFunction
Func<Task,TResult>

Funkce deleguje provádění asynchronně, když se dokončí jeden úkol v tasks poli.

cancellationToken
CancellationToken

Ta CancellationToken bude přiřazena k novému úkolu pokračování.

continuationOptions
TaskContinuationOptions

Hodnota TaskContinuationOptions , která řídí chování vytvořené pokračování Task<TResult>.

scheduler
TaskScheduler

Používá TaskScheduler se k naplánování vytvořené pokračování Task<TResult>.

Návraty

Task<TResult>

Nové pokračování Task<TResult>.

Výjimky

Pole tasks je null.

-nebo- continuationFunction je null.

-nebo- scheduler je null.

Pole tasks obsahuje null hodnotu.

-nebo- Pole tasks je prázdné.

continuationOptions určuje neplatnou hodnotu TaskContinuationOptions.

CancellationToken Poskytnutý již byl vyřazen.

Poznámky

NotOn* a OnlyOn TaskContinuationOptions* , které omezení, pro které TaskStatus stavy bude pokračování spuštěno, jsou neplatné s ContinueWhenAny.

Viz také

Platí pro