TaskFactory.ContinueWhenAny<TAntecedentResult, TResult> Method (Task<TAntecedentResult>[], Func<Task<TAntecedentResult>, TResult>, TaskContinuationOptions)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.
Assembly: mscorlib (in mscorlib.dll)
public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult>(
Task<TAntecedentResult>[] tasks,
Func<Task<TAntecedentResult>, TResult> continuationFunction,
TaskContinuationOptions continuationOptions
)
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>.
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.
- continuationOptions
- Type: System.Threading.Tasks.TaskContinuationOptions
The TaskContinuationOptions value that controls the behavior of the created continuation Task<TResult>.
| Exception | Condition |
|---|---|
| ObjectDisposedException | The exception that is thrown when one of the elements in the tasks array has 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. |
| ArgumentOutOfRangeException | The exception that is thrown when the continuationOptions argument specifies an invalid TaskContinuationOptions value. |
| 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.