Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ContinueWhenAnyImpl()

static Task< TResult > System.Threading.Tasks.TaskFactory< TResult >.ContinueWhenAnyImpl ( Task[] tasks,
Func< Task, TResult > continuationFunction,
Action< Task > continuationAction,
TaskContinuationOptions continuationOptions,
CancellationToken cancellationToken,
TaskScheduler scheduler )
inlinestaticpackage

Definition at line 770 of file TaskFactory.cs.

771 {
772 TaskFactory.CheckMultiTaskContinuationOptions(continuationOptions);
773 if (tasks == null)
774 {
775 ThrowHelper.ThrowArgumentNullException(ExceptionArgument.tasks);
776 }
777 if (tasks.Length == 0)
778 {
779 ThrowHelper.ThrowArgumentException(ExceptionResource.Task_MultiTaskContinuation_EmptyTaskList, ExceptionArgument.tasks);
780 }
781 if (scheduler == null)
782 {
783 ThrowHelper.ThrowArgumentNullException(ExceptionArgument.scheduler);
784 }
785 Task<Task> task = TaskFactory.CommonCWAnyLogic(tasks);
786 if (cancellationToken.IsCancellationRequested && (continuationOptions & TaskContinuationOptions.LazyCancellation) == 0)
787 {
789 }
790 if (continuationFunction != null)
791 {
793 }
794 return task.ContinueWith(delegate(Task<Task> completedTask, object state)
795 {
797 return default(TResult);
799 }
static Task< TResult > CreateCanceledTask(TaskContinuationOptions continuationOptions, CancellationToken ct)

References System.cancellationToken, System.Threading.Tasks.TaskFactory< TResult >.CheckMultiTaskContinuationOptions(), System.Threading.Tasks.TaskFactory< TResult >.CommonCWAnyLogic(), System.continuationAction, System.continuationFunction, System.continuationOptions, System.scheduler, System.state, System.task, System.tasks, System.ThrowHelper.ThrowArgumentException(), and System.ThrowHelper.ThrowArgumentNullException().