public /* async */ void EntryPoint(object sender, RoutedEventArgs e) { MainStateMachine stateMachine = new MainStateMachine(); stateMachine.This = this; stateMachine.Sender = sender; stateMachine.Builder = AsyncVoidMethodBuilder.Create(); stateMachine.State = -1; AsyncVoidMethodBuilder builder = stateMachine.Builder; builder.Start(ref stateMachine); }
void IAsyncStateMachine.MoveNext() { int num = State; try { if (num != 0) { } try { TaskAwaiter taskAwaiter; if (num != 0) { _task = This.ThrowTaskExceptionAsync(); taskAwaiter = _task.GetAwaiter(); if (!taskAwaiter.IsCompleted) { State = 0; _awaiter = taskAwaiter; MainStateMachine stateMachine = this; Builder.AwaitUnsafeOnCompleted(ref taskAwaiter, ref stateMachine); return; } } else { taskAwaiter = _awaiter; _awaiter = default(TaskAwaiter); State = -1; } taskAwaiter.GetResult(); taskAwaiter = default(TaskAwaiter); _task = null; } catch (Exception exception) { _ex = exception; MessageBox.Show(_ex.Message); } } catch (Exception exception) { State = -2; Builder.SetException(exception); return; } State = -2; Builder.SetResult(); }