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

◆ ContinueWhenAllImpl()

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

Definition at line 665 of file TaskFactory.cs.

666 {
667 TaskFactory.CheckMultiTaskContinuationOptions(continuationOptions);
668 if (tasks == null)
669 {
670 ThrowHelper.ThrowArgumentNullException(ExceptionArgument.tasks);
671 }
672 if (scheduler == null)
673 {
674 ThrowHelper.ThrowArgumentNullException(ExceptionArgument.scheduler);
675 }
676 Task[] tasksCopy = TaskFactory.CheckMultiContinuationTasksAndCopy(tasks);
677 if (cancellationToken.IsCancellationRequested && (continuationOptions & TaskContinuationOptions.LazyCancellation) == 0)
678 {
680 }
681 Task<Task[]> task = TaskFactory.CommonCWAllLogic(tasksCopy);
682 if (continuationFunction != null)
683 {
684 return task.ContinueWith(delegate(Task<Task[]> completedTasks, object state)
685 {
686 completedTasks.NotifyDebuggerOfWaitCompletionIfNecessary();
687 return ((Func<Task[], TResult>)state)(completedTasks.Result);
689 }
690 return task.ContinueWith(delegate(Task<Task[]> completedTasks, object state)
691 {
692 completedTasks.NotifyDebuggerOfWaitCompletionIfNecessary();
694 return default(TResult);
696 }
static Task< TResult > CreateCanceledTask(TaskContinuationOptions continuationOptions, CancellationToken ct)

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