TaskFactory<TResult>.ContinueWhenAny<TAntecedentResult> Method (array<Task<TAntecedentResult>[], Func<Task<TAntecedentResult>, TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
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(Of TAntecedentResult) ( _
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)
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: array<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>.
Exceptions
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. |
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. |
Remarks
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.
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.
See Also
Reference
Other Resources
Change History
Date |
History |
Reason |
---|---|---|
Added text to clarify asynchronous execution of continuations. |
Customer feedback. |