void IAsyncStateMachine.MoveNext() { int num1 = this._state_1; try { TaskAwaiter <int> awaiter1; int num2; TaskAwaiter <int> awaiter2; switch (num1) { case 0: awaiter1 = this._awaiterTask; this._awaiterTask = new TaskAwaiter <int>(); this._state_1 = num2 = -1; break; case 1: awaiter2 = this._awaiterTask; this._awaiterTask = new TaskAwaiter <int>(); this._state_1 = num2 = -1; goto label_8; default: awaiter1 = this._parentProgram.CallMe().GetAwaiter(); if (!awaiter1.IsCompleted) { this._state_1 = num2 = 0; this._awaiterTask = awaiter1; DecompiledProgram.StateMachine_WaitForMe stateMachine = this; this._taskBuilder.AwaitUnsafeOnCompleted <TaskAwaiter <int>, DecompiledProgram.StateMachine_WaitForMe>(ref awaiter1, ref stateMachine); return; } break; } this.state_3 = awaiter1.GetResult(); this.result_1 = this.state_3; awaiter2 = this._parentProgram.CallMe().GetAwaiter(); if (!awaiter2.IsCompleted) { this._state_1 = num2 = 1; this._awaiterTask = awaiter2; DecompiledProgram.StateMachine_WaitForMe stateMachine = this; this._taskBuilder.AwaitUnsafeOnCompleted <TaskAwaiter <int>, DecompiledProgram.StateMachine_WaitForMe>(ref awaiter2, ref stateMachine); return; } label_8: this.state_4 = awaiter2.GetResult(); this.result_2 = this.state_4; Console.WriteLine("Result1 : " + this.result_1.ToString() + " Result2: " + this.result_2.ToString() + "Ende !"); } catch (Exception ex) { this._state_1 = -2; this._taskBuilder.SetException(ex); return; } this._state_1 = -2; this._taskBuilder.SetResult(); }
//[AsyncStateMachine(typeof(DecompiledProgram.StateMachine_WaitForMe))] //[DebuggerStepThrough] public void WaitForMe() { DecompiledProgram.StateMachine_WaitForMe stateMachine = new DecompiledProgram.StateMachine_WaitForMe(); stateMachine._parentProgram = this; stateMachine._taskBuilder = AsyncVoidMethodBuilder.Create(); stateMachine._state_1 = -1; stateMachine._taskBuilder.Start <DecompiledProgram.StateMachine_WaitForMe>(ref stateMachine); }