ContinueWhenAny(TAntecedentResult, TResult) Method (Task(TAntecedentResult)[], Func(Task(TAntecedentResult), TResult), CancellationToken, TaskContinuationOptions, TaskScheduler)
TOC
Collapse the table of content
Expand the table of content

TaskFactory.ContinueWhenAny<'TAntecedentResult, 'TResult> Method (Task<'TAntecedentResult>[], Func<Task<'TAntecedentResult>, 'TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)

 

Creates a continuation Task<'TResult> that will be started upon the completion of any Task in the provided set.

Namespace:   System.Threading.Tasks
Assembly:  mscorlib (in mscorlib.dll)

member ContinueWhenAny<'TAntecedentResult, 'TResult> : 
        tasks:Task<'TAntecedentResult>[] *
        continuationFunction:Func<Task<'TAntecedentResult>, 'TResult> *
        cancellationToken:CancellationToken *
        continuationOptions:TaskContinuationOptions *
        scheduler:TaskScheduler -> Task<'TResult>

Parameters

tasks
Type: System.Threading.Tasks.Task<'TAntecedentResult>[]

The array of tasks from which to continue when one task completes.

continuationFunction
Type: System.Func<Task<'TAntecedentResult>, 'TResult>

The function delegate to execute asynchronously when one task in the tasks array completes.

cancellationToken
Type: System.Threading.CancellationToken

The CancellationToken that will be assigned to the new continuation task.

continuationOptions
Type: System.Threading.Tasks.TaskContinuationOptions

The TaskContinuationOptions value that controls the behavior of the created continuation Task<'TResult>.

scheduler
Type: System.Threading.Tasks.TaskScheduler

The TaskScheduler that is used to schedule the created continuation Task<'TResult>.

Return Value

Type: System.Threading.Tasks.Task<'TResult>

The new continuation Task<'TResult>.

Type Parameters

TAntecedentResult

The type of the result of the antecedent tasks.

TResult

The type of the result that is returned by the continuationFunction delegate and associated with the created Task<'TResult>.

Exception Condition
ArgumentNullException

The exception that is thrown when the tasks array is null.

-or-

The exception that is thrown when the continuationFunction argument is null.

-or-

The exception that is thrown when the scheduler argument is null.

ArgumentException

The exception that is thrown when the tasks array contains a null value.

-or-

The exception that is thrown when the tasks array is empty.

The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 5.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Return to top
Show:
© 2016 Microsoft