TaskFactory.ContinueWhenAny Methode

Definitie

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

Overloads

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

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

ContinueWhenAny(Task[], Action<Task>)

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Hiermee maakt u een vervolg Task<TResult> die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Hiermee maakt u een vervolg Task<TResult> die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Hiermee maakt u een vervolg Task<TResult> die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Hiermee maakt u een vervolg Task<TResult> die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Hiermee maakt u een vervolg Task<TResult> die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Hiermee maakt u een vervolg Task<TResult> die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Hiermee maakt u een vervolg Task<TResult> die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Hiermee maakt u een vervolg Task<TResult> die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Parameters

tasks
Task[]

De matrix met taken waaruit moet worden voortgezet wanneer één taak is voltooid.

continuationAction
Action<Task>

De gedelegeerde van de actie die moet worden uitgevoerd wanneer één taak in de tasks matrix is voltooid.

continuationOptions
TaskContinuationOptions

De TaskContinuationOptions waarde waarmee het gedrag van de gemaakte voortzetting Taskwordt bepaald.

Retouren

De nieuwe voortzetting Task.

Uitzonderingen

Een van de elementen in de tasks matrix is verwijderd.

De tasks matrix is null.

– of –

continuationAction is null.

continuationOptions geeft een ongeldige TaskContinuationOptions-waarde op.

De tasks matrix bevat een null waarde.

– of –

De tasks matrix is leeg.

Opmerkingen

De NotOn* en OnlyOn* TaskContinuationOptions, die beperking waarin staat dat TaskStatus een voortzetting wordt uitgevoerd, zijn illegaal met ContinueWhenAny.

Zie ook

Van toepassing op

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

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Parameters

tasks
Task[]

De matrix met taken waaruit moet worden voortgezet wanneer één taak is voltooid.

continuationAction
Action<Task>

De gedelegeerde van de actie die moet worden uitgevoerd wanneer één taak in de tasks matrix is voltooid.

cancellationToken
CancellationToken

De CancellationToken taak die wordt toegewezen aan de nieuwe vervolgtaak.

continuationOptions
TaskContinuationOptions

De TaskContinuationOptions waarde waarmee het gedrag van de gemaakte voortzetting Taskwordt bepaald.

scheduler
TaskScheduler

De TaskScheduler die wordt gebruikt om de gemaakte voortzetting Taskte plannen.

Retouren

De nieuwe voortzetting Task.

Uitzonderingen

De tasks matrix is null.

– of –

continuationAction is null.

– of –

scheduler is null.

De tasks matrix bevat een null waarde.

– of –

De tasks matrix is leeg.

continuationOptions geeft een ongeldige TaskContinuationOptions-waarde op.

De opgegeven CancellationToken is al verwijderd.

Opmerkingen

De NotOn* en OnlyOn* TaskContinuationOptions, die beperking waarin staat dat TaskStatus een voortzetting wordt uitgevoerd, zijn illegaal met ContinueWhenAny.

Zie ook

Van toepassing op

ContinueWhenAny(Task[], Action<Task>)

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Parameters

tasks
Task[]

De matrix met taken waaruit moet worden voortgezet wanneer één taak is voltooid.

continuationAction
Action<Task>

De gedelegeerde van de actie die moet worden uitgevoerd wanneer één taak in de tasks matrix is voltooid.

Retouren

De nieuwe voortzetting Task.

Uitzonderingen

Een van de elementen in de tasks matrix is verwijderd.

De tasks matrix is null.

– of –

Het continuationAction argument is null.

De tasks matrix bevat een null waarde.

– of –

De tasks matrix is leeg.

Voorbeelden

In het volgende voorbeeld ziet u hoe u deze kunt gebruiken ContinueWhenAny en 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

Zie ook

Van toepassing op

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

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Parameters

tasks
Task[]

De matrix met taken waaruit moet worden voortgezet wanneer één taak is voltooid.

continuationAction
Action<Task>

De gedelegeerde van de actie die moet worden uitgevoerd wanneer één taak in de tasks matrix is voltooid.

cancellationToken
CancellationToken

De CancellationToken taak die wordt toegewezen aan de nieuwe vervolgtaak.

Retouren

De nieuwe voortzetting Task.

Uitzonderingen

Een van de elementen in de tasks matrix is verwijderd.

– of –

cancellationToken is al verwijderd.

De tasks matrix is null.

– of –

Het continuationAction argument is null.

De tasks matrix bevat een null waarde.

– of –

De tasks matrix is leeg.

Zie ook

Van toepassing op

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

Hiermee maakt u een vervolg Task<TResult> die wordt gestart na het voltooien van een taak in de opgegeven set.

public:
generic <typename TAntecedentResult, typename TResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult,TResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult), TResult), continuationOptions As TaskContinuationOptions) As Task(Of TResult)

Type parameters

TAntecedentResult

Het type van het resultaat van de antecedent tasks.

TResult

Het type van het resultaat dat wordt geretourneerd door de continuationFunction gemachtigde en gekoppeld aan de gemaakte Task<TResult>.

Parameters

tasks
Task<TAntecedentResult>[]

De matrix met taken waaruit moet worden voortgezet wanneer één taak is voltooid.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

De gedelegeerde van de functie om asynchroon uit te voeren wanneer één taak in de tasks matrix is voltooid.

continuationOptions
TaskContinuationOptions

De TaskContinuationOptions waarde waarmee het gedrag van de gemaakte voortzetting Task<TResult>wordt bepaald.

Retouren

De nieuwe voortzetting Task<TResult>.

Uitzonderingen

Een van de elementen in de tasks matrix is verwijderd.

De tasks matrix is null.

– of –

continuationFunction is null.

continuationOptions geeft een ongeldige TaskContinuationOptions-waarde op.

De tasks matrix bevat een null-waarde.

– of –

De tasks matrix is leeg.

Opmerkingen

De NotOn* en OnlyOn* TaskContinuationOptions, die beperking waarin staat dat TaskStatus een voortzetting wordt uitgevoerd, zijn illegaal met ContinueWhenAny.

Zie ook

Van toepassing op

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

Hiermee maakt u een vervolg Task<TResult> die wordt gestart na het voltooien van een taak in de opgegeven set.

public:
generic <typename TAntecedentResult, typename TResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult,TResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult), TResult)) As Task(Of TResult)

Type parameters

TAntecedentResult

Het type van het resultaat van de antecedent tasks.

TResult

Het type van het resultaat dat wordt geretourneerd door de continuationFunction gemachtigde en gekoppeld aan de gemaakte Task<TResult>.

Parameters

tasks
Task<TAntecedentResult>[]

De matrix met taken waaruit moet worden voortgezet wanneer één taak is voltooid.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

De gedelegeerde van de functie om asynchroon uit te voeren wanneer één taak in de tasks matrix is voltooid.

Retouren

De nieuwe voortzetting Task<TResult>.

Uitzonderingen

Een van de elementen in de tasks matrix is verwijderd.

De tasks matrix is null.

– of –

continuationFunction is null.

De tasks matrix bevat een null-waarde.

– of –

De tasks matrix is leeg.

Zie ook

Van toepassing op

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

Hiermee maakt u een vervolg Task<TResult> die wordt gestart na het voltooien van een taak in de opgegeven set.

public:
generic <typename TAntecedentResult, typename TResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult,TResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult), TResult), cancellationToken As CancellationToken) As Task(Of TResult)

Type parameters

TAntecedentResult

Het type van het resultaat van de antecedent tasks.

TResult

Het type van het resultaat dat wordt geretourneerd door de continuationFunction gemachtigde en gekoppeld aan de gemaakte Task<TResult>.

Parameters

tasks
Task<TAntecedentResult>[]

De matrix met taken waaruit moet worden voortgezet wanneer één taak is voltooid.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

De gedelegeerde van de functie om asynchroon uit te voeren wanneer één taak in de tasks matrix is voltooid.

cancellationToken
CancellationToken

De CancellationToken taak die wordt toegewezen aan de nieuwe vervolgtaak.

Retouren

De nieuwe voortzetting Task<TResult>.

Uitzonderingen

Een van de elementen in de tasks matrix is verwijderd.

– of –

De opgegeven CancellationToken is al verwijderd.

De tasks matrix is null.

– of –

continuationFunction is null.

De tasks matrix bevat een null waarde.

– of –

De tasks matrix is leeg.

Zie ook

Van toepassing op

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

Hiermee maakt u een vervolg Task<TResult> die wordt gestart na het voltooien van een taak in de opgegeven set.

public:
generic <typename TAntecedentResult, typename TResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult,TResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult), TResult), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task(Of TResult)

Type parameters

TAntecedentResult

Het type van het resultaat van de antecedent tasks.

TResult

Het type van het resultaat dat wordt geretourneerd door de continuationFunction gemachtigde en gekoppeld aan de gemaakte Task<TResult>.

Parameters

tasks
Task<TAntecedentResult>[]

De matrix met taken waaruit moet worden voortgezet wanneer één taak is voltooid.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

De gedelegeerde van de functie om asynchroon uit te voeren wanneer één taak in de tasks matrix is voltooid.

cancellationToken
CancellationToken

De CancellationToken taak die wordt toegewezen aan de nieuwe vervolgtaak.

continuationOptions
TaskContinuationOptions

De TaskContinuationOptions waarde waarmee het gedrag van de gemaakte voortzetting Task<TResult>wordt bepaald.

scheduler
TaskScheduler

De TaskScheduler die wordt gebruikt om de gemaakte voortzetting Task<TResult>te plannen.

Retouren

De nieuwe voortzetting Task<TResult>.

Uitzonderingen

De tasks matrix is null.

– of –

continuationFunction is null.

– of –

scheduler is null.

De tasks matrix bevat een null-waarde.

– of –

De tasks matrix is leeg.

continuationOptions geeft een ongeldige TaskContinuationOptions-waarde op.

De opgegeven CancellationToken is al verwijderd.

Opmerkingen

De NotOn* en OnlyOn* TaskContinuationOptions, die beperking waarin staat dat TaskStatus een voortzetting wordt uitgevoerd, zijn illegaal met ContinueWhenAny.

Zie ook

Van toepassing op

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

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Type parameters

TAntecedentResult

Het type van het resultaat van de antecedent tasks.

Parameters

tasks
Task<TAntecedentResult>[]

De matrix met taken waaruit moet worden voortgezet wanneer één taak is voltooid.

continuationAction
Action<Task<TAntecedentResult>>

De gedelegeerde van de actie die moet worden uitgevoerd wanneer één taak in de tasks matrix is voltooid.

Retouren

De nieuwe voortzetting Task.

Uitzonderingen

Een van de elementen in de tasks matrix is verwijderd.

De tasks matrix is null.

– of –

continuationAction is null.

De tasks matrix bevat een null waarde.

– of –

De tasks matrix is leeg.

Zie ook

Van toepassing op

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

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Type parameters

TAntecedentResult

Het type van het resultaat van de antecedent tasks.

Parameters

tasks
Task<TAntecedentResult>[]

De matrix met taken waaruit moet worden voortgezet wanneer één taak is voltooid.

continuationAction
Action<Task<TAntecedentResult>>

De gedelegeerde van de actie die moet worden uitgevoerd wanneer één taak in de tasks matrix is voltooid.

cancellationToken
CancellationToken

De CancellationToken taak die wordt toegewezen aan de nieuwe vervolgtaak.

Retouren

De nieuwe voortzetting Task.

Uitzonderingen

Een van de elementen in de tasks matrix is verwijderd.

– of –

De opgegeven CancellationToken is al verwijderd.

De tasks matrix is null.

– of –

continuationAction is null.

De tasks matrix bevat een null-waarde.

– of –

De tasks matrix is leeg.

Zie ook

Van toepassing op

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

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

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

Type parameters

TAntecedentResult

Het type van het resultaat van de antecedent tasks.

Parameters

tasks
Task<TAntecedentResult>[]

De matrix met taken waaruit moet worden voortgezet wanneer één taak is voltooid.

continuationAction
Action<Task<TAntecedentResult>>

De gedelegeerde van de actie die moet worden uitgevoerd wanneer één taak in de tasks matrix is voltooid.

continuationOptions
TaskContinuationOptions

De TaskContinuationOptions waarde waarmee het gedrag van de gemaakte voortzetting Taskwordt bepaald.

Retouren

De nieuwe voortzetting Task.

Uitzonderingen

Een van de elementen in de tasks matrix is verwijderd.

De tasks matrix is null.

– of –

continuationAction is null.

continuationOptions geeft een ongeldige TaskContinuationOptions-waarde op.

De tasks matrix bevat een null-waarde.

– of –

De tasks matrix is leeg.

Opmerkingen

De NotOn* en OnlyOn* TaskContinuationOptions, die beperking waarin staat dat TaskStatus een voortzetting wordt uitgevoerd, zijn illegaal met ContinueWhenAny.

Zie ook

Van toepassing op

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

Hiermee maakt u een vervolg Task die wordt gestart na het voltooien van een taak in de opgegeven set.

public:
generic <typename TAntecedentResult>
 System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<System::Threading::Tasks::Task<TAntecedentResult> ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task ContinueWhenAny<TAntecedentResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>> continuationAction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task
Public Function ContinueWhenAny(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationAction As Action(Of Task(Of TAntecedentResult)), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task

Type parameters

TAntecedentResult

Het type van het resultaat van de antecedent tasks.

Parameters

tasks
Task<TAntecedentResult>[]

De matrix met taken waaruit moet worden voortgezet wanneer één taak is voltooid.

continuationAction
Action<Task<TAntecedentResult>>

De gedelegeerde van de actie die moet worden uitgevoerd wanneer één taak in de tasks matrix is voltooid.

cancellationToken
CancellationToken

De CancellationToken taak die wordt toegewezen aan de nieuwe vervolgtaak.

continuationOptions
TaskContinuationOptions

De TaskContinuationOptions waarde waarmee het gedrag van de gemaakte voortzetting Taskwordt bepaald.

scheduler
TaskScheduler

De TaskScheduler die wordt gebruikt om de gemaakte voortzetting Task<TResult>te plannen.

Retouren

De nieuwe voortzetting Task.

Uitzonderingen

De tasks matrix is null.

– of –

continuationAction is null.

– of –

paramref name="scheduler" /> is null.

De tasks matrix bevat een null waarde.

– of –

De tasks matrix is leeg.

continuationOptions geeft een ongeldige TaskContinuationOptions waarde op.

De opgegeven CancellationToken is al verwijderd.

Opmerkingen

De NotOn* en OnlyOn* TaskContinuationOptions, die beperking waarin staat dat TaskStatus een voortzetting wordt uitgevoerd, zijn illegaal met ContinueWhenAny.

Zie ook

Van toepassing op

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

Hiermee maakt u een vervolg Task<TResult> die wordt gestart na het voltooien van een taak in de opgegeven set.

public:
generic <typename TResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TResult>(System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task, TResult)) As Task(Of TResult)

Type parameters

TResult

Het type van het resultaat dat wordt geretourneerd door de continuationFunction gemachtigde en gekoppeld aan de gemaakte Task<TResult>.

Parameters

tasks
Task[]

De matrix met taken waaruit moet worden voortgezet wanneer één taak is voltooid.

continuationFunction
Func<Task,TResult>

De gedelegeerde van de functie om asynchroon uit te voeren wanneer één taak in de tasks matrix is voltooid.

Retouren

De nieuwe voortzetting Task<TResult>.

Uitzonderingen

Een van de elementen in de tasks matrix is verwijderd.

De tasks matrix is null.

– of –

continuationFunction is null.

De tasks matrix bevat een null-waarde.

– of –

De tasks matrix is leeg.

Zie ook

Van toepassing op

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

Hiermee maakt u een vervolg Task<TResult> die wordt gestart na het voltooien van een taak in de opgegeven set.

public:
generic <typename TResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TResult>(System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task, TResult), cancellationToken As CancellationToken) As Task(Of TResult)

Type parameters

TResult

Het type van het resultaat dat wordt geretourneerd door de continuationFunction gemachtigde en gekoppeld aan de gemaakte Task<TResult>.

Parameters

tasks
Task[]

De matrix met taken waaruit moet worden voortgezet wanneer één taak is voltooid.

continuationFunction
Func<Task,TResult>

De gedelegeerde van de functie om asynchroon uit te voeren wanneer één taak in de tasks matrix is voltooid.

cancellationToken
CancellationToken

De CancellationToken taak die wordt toegewezen aan de nieuwe vervolgtaak.

Retouren

De nieuwe voortzetting Task<TResult>.

Uitzonderingen

Een van de elementen in de tasks matrix is verwijderd.

– of –

De opgegeven CancellationToken is al verwijderd.

De tasks matrix is null.

– of –

continuationFunction is null.

De tasks matrix bevat een null waarde.

– of –

De tasks matrix is leeg.

Zie ook

Van toepassing op

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

Hiermee maakt u een vervolg Task<TResult> die wordt gestart na het voltooien van een taak in de opgegeven set.

public:
generic <typename TResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TResult>(System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task, TResult), continuationOptions As TaskContinuationOptions) As Task(Of TResult)

Type parameters

TResult

Het type van het resultaat dat wordt geretourneerd door de continuationFunction gemachtigde en gekoppeld aan de gemaakte Task<TResult>.

Parameters

tasks
Task[]

De matrix met taken waaruit moet worden voortgezet wanneer één taak is voltooid.

continuationFunction
Func<Task,TResult>

De gedelegeerde van de functie om asynchroon uit te voeren wanneer één taak in de tasks matrix is voltooid.

continuationOptions
TaskContinuationOptions

De TaskContinuationOptions waarde waarmee het gedrag van de gemaakte voortzetting Task<TResult>wordt bepaald.

Retouren

De nieuwe voortzetting Task<TResult>.

Uitzonderingen

Een van de elementen in de tasks matrix is verwijderd.

De tasks matrix is null.

– of –

continuationFunction is null.

continuationOptions geeft een ongeldige TaskContinuationOptions-waarde op.

De tasks matrix bevat een null waarde.

– of –

De tasks matrix is leeg.

Opmerkingen

De NotOn* en OnlyOn* TaskContinuationOptions, die beperking waarin staat dat TaskStatus een voortzetting wordt uitgevoerd, zijn illegaal met ContinueWhenAny.

Zie ook

Van toepassing op

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

Hiermee maakt u een vervolg Task<TResult> die wordt gestart na het voltooien van een taak in de opgegeven set.

public:
generic <typename TResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TResult>(System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task, TResult), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task(Of TResult)

Type parameters

TResult

Het type van het resultaat dat wordt geretourneerd door de continuationFunction gemachtigde en gekoppeld aan de gemaakte Task<TResult>.

Parameters

tasks
Task[]

De matrix met taken waaruit moet worden voortgezet wanneer één taak is voltooid.

continuationFunction
Func<Task,TResult>

De gedelegeerde van de functie om asynchroon uit te voeren wanneer één taak in de tasks matrix is voltooid.

cancellationToken
CancellationToken

De CancellationToken taak die wordt toegewezen aan de nieuwe vervolgtaak.

continuationOptions
TaskContinuationOptions

De TaskContinuationOptions waarde waarmee het gedrag van de gemaakte voortzetting Task<TResult>wordt bepaald.

scheduler
TaskScheduler

De TaskScheduler die wordt gebruikt om de gemaakte voortzetting Task<TResult>te plannen.

Retouren

De nieuwe voortzetting Task<TResult>.

Uitzonderingen

De tasks matrix is null.

– of –

continuationFunction is null.

– of –

scheduler is null.

De tasks matrix bevat een null waarde.

– of –

De tasks matrix is leeg.

continuationOptions geeft een ongeldige TaskContinuationOptions-waarde op.

De opgegeven CancellationToken is al verwijderd.

Opmerkingen

De NotOn* en OnlyOn* TaskContinuationOptions, die beperking waarin staat dat TaskStatus een voortzetting wordt uitgevoerd, zijn illegaal met ContinueWhenAny.

Zie ook

Van toepassing op