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

◆ Start< TStateMachine >()

static void System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start< TStateMachine > ( ref TStateMachine stateMachine)
inlinestatic
Type Constraints
TStateMachine :IAsyncStateMachine 

Definition at line 44 of file AsyncMethodBuilderCore.cs.

44 : IAsyncStateMachine
45 {
46 if (stateMachine == null)
47 {
48 ThrowHelper.ThrowArgumentNullException(ExceptionArgument.stateMachine);
49 }
50 Thread currentThread = Thread.CurrentThread;
51 ExecutionContext executionContext = currentThread._executionContext;
52 SynchronizationContext synchronizationContext = currentThread._synchronizationContext;
53 try
54 {
55 stateMachine.MoveNext();
56 }
57 finally
58 {
59 if (synchronizationContext != currentThread._synchronizationContext)
60 {
61 currentThread._synchronizationContext = synchronizationContext;
62 }
63 ExecutionContext executionContext2 = currentThread._executionContext;
64 if (executionContext != executionContext2)
65 {
66 ExecutionContext.RestoreChangedContextToThread(currentThread, executionContext, executionContext2);
67 }
68 }
69 }
static void RestoreChangedContextToThread(Thread currentThread, ExecutionContext contextToRestore, ExecutionContext currentContext)
SynchronizationContext _synchronizationContext
Definition Thread.cs:160
static Thread CurrentThread
Definition Thread.cs:312
ExecutionContext _executionContext
Definition Thread.cs:158

References System.Threading.Thread._executionContext, System.Threading.Thread._synchronizationContext, System.Threading.Thread.CurrentThread, System.Threading.ExecutionContext.RestoreChangedContextToThread(), System.stateMachine, and System.ThrowHelper.ThrowArgumentNullException().