TaskFactory<TResult>.ContinueWhenAny Method (array<Task[], Func<Task, TResult>, CancellationToken)

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)

Syntax

'Declaration
Public Function ContinueWhenAny ( _
    tasks As Task(), _
    continuationFunction As Func(Of Task, TResult), _
    cancellationToken As CancellationToken _
) As Task(Of TResult)
public Task<TResult> ContinueWhenAny(
    Task[] tasks,
    Func<Task, TResult> continuationFunction,
    CancellationToken cancellationToken
)

Parameters

  • continuationFunction
    Type: System.Func<Task, TResult>
    The function delegate to execute asynchronously when one task in the tasks array completes.

Return Value

Type: System.Threading.Tasks.Task<TResult>
The new continuation Task<TResult>.

Exceptions

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

ArgumentNullException

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

-or-

The exception that is thrown when the continuationFunction 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.

Remarks

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

Version Information

Silverlight

Supported in: 5

Platforms

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

Change History

Date

History

Reason

Added text to clarify asynchronous execution of continuations.

Customer feedback.