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

◆ OnCompleted() [2/2]

void System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable< TResult >.ConfiguredValueTaskAwaiter.OnCompleted ( Action continuation)
inline

Implements System.Runtime.CompilerServices.INotifyCompletion.

Definition at line 133 of file ConfiguredValueTaskAwaitable.cs.

134 {
135 object obj = _value._obj;
136 if (obj is Task<TResult> task)
137 {
138 task.ConfigureAwait(_value._continueOnCapturedContext).GetAwaiter().OnCompleted(continuation);
139 }
140 else if (obj != null)
141 {
142 Unsafe.As<IValueTaskSource<TResult>>(obj).OnCompleted(ValueTaskAwaiter.s_invokeActionDelegate, continuation, _value._token, ValueTaskSourceOnCompletedFlags.FlowExecutionContext | (_value._continueOnCapturedContext ? ValueTaskSourceOnCompletedFlags.UseSchedulingContext : ValueTaskSourceOnCompletedFlags.None));
143 }
144 else
145 {
146 Task.CompletedTask.ConfigureAwait(_value._continueOnCapturedContext).GetAwaiter().OnCompleted(continuation);
147 }
148 }
static Task CompletedTask
Definition Task.cs:1120
readonly bool _continueOnCapturedContext
Definition ValueTask.cs:69

References System.Threading.Tasks.ValueTask< TResult >._continueOnCapturedContext, System.Threading.Tasks.ValueTask< TResult >._obj, System.Threading.Tasks.ValueTask< TResult >._token, System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable< TResult >.ConfiguredValueTaskAwaiter._value, System.Threading.Tasks.Task< TResult >.CompletedTask, System.obj, System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable< TResult >.ConfiguredValueTaskAwaiter.OnCompleted(), System.Runtime.CompilerServices.ValueTaskAwaiter< TResult >.s_invokeActionDelegate, and System.task.