Export (0) Print
Expand All

TaskFactory<TResult>.ContinueWhenAny<TAntecedentResult> 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)

public Task<TResult> ContinueWhenAny<TAntecedentResult>(
	Task<TAntecedentResult>[] tasks,
	Func<Task<TAntecedentResult>, TResult> continuationFunction,
	CancellationToken cancellationToken,
	TaskContinuationOptions continuationOptions,
	TaskScheduler scheduler
)

Type Parameters

TAntecedentResult

The type of the result of the antecedent tasks.

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>.

ExceptionCondition
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.

ArgumentOutOfRangeException

The exception that is thrown when the continuationOptions argument specifies an invalid TaskContinuationOptions value.

ObjectDisposedException

The exception that is thrown when one of the elements in the tasks array has been disposed.

-or-

The CancellationTokenSource that created cancellationToken has already been disposed.

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

After completion, a task is in one of these states: RanToCompletion, Faulted, or Canceled states.

Silverlight

Supported in: 5

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Date

History

Reason

Added text to clarify asynchronous execution of continuations.

Customer feedback.

Community Additions

ADD
Show:
© 2014 Microsoft