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

◆ CreationOptionsFromContinuationOptions() [2/2]

static void System.Threading.Tasks.Task< TResult >.CreationOptionsFromContinuationOptions ( TaskContinuationOptions continuationOptions,
out TaskCreationOptions creationOptions,
out InternalTaskOptions internalOptions )
inlinestaticpackageinherited

Definition at line 2902 of file Task.cs.

2903 {
2904 if ((continuationOptions & (TaskContinuationOptions.LongRunning | TaskContinuationOptions.ExecuteSynchronously)) == (TaskContinuationOptions.LongRunning | TaskContinuationOptions.ExecuteSynchronously))
2905 {
2906 ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument.continuationOptions, ExceptionResource.Task_ContinueWith_ESandLR);
2907 }
2908 if (((uint)continuationOptions & 0xFFF0FF80u) != 0)
2909 {
2910 ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument.continuationOptions);
2911 }
2912 if ((continuationOptions & (TaskContinuationOptions.OnlyOnRanToCompletion | TaskContinuationOptions.NotOnRanToCompletion)) == (TaskContinuationOptions.OnlyOnRanToCompletion | TaskContinuationOptions.NotOnRanToCompletion))
2913 {
2914 ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument.continuationOptions, ExceptionResource.Task_ContinueWith_NotOnAnything);
2915 }
2916 creationOptions = (TaskCreationOptions)(continuationOptions & (TaskContinuationOptions.PreferFairness | TaskContinuationOptions.LongRunning | TaskContinuationOptions.AttachedToParent | TaskContinuationOptions.DenyChildAttach | TaskContinuationOptions.HideScheduler | TaskContinuationOptions.RunContinuationsAsynchronously));
2917 internalOptions = (((continuationOptions & TaskContinuationOptions.LazyCancellation) != 0) ? (InternalTaskOptions.ContinuationTask | InternalTaskOptions.LazyCancellation) : InternalTaskOptions.ContinuationTask);
2918 }

References System.continuationOptions, System.creationOptions, and System.ThrowHelper.ThrowArgumentOutOfRangeException().

Referenced by System.Threading.Tasks.Task< TResult >.ContinueWith(), System.Threading.Tasks.Task< TResult >.ContinueWith(), System.Threading.Tasks.Task< TResult >.ContinueWith(), System.Threading.Tasks.Task< TResult >.ContinueWith(), System.Threading.Tasks.Task< TResult >.ContinueWith< TNewResult >(), System.Threading.Tasks.Task< TResult >.ContinueWith< TNewResult >(), System.Threading.Tasks.Task< TResult >.ContinueWith< TResult >(), System.Threading.Tasks.Task< TResult >.ContinueWith< TResult >(), and System.Threading.Tasks.TaskFactory< TResult >.CreateCanceledTask().