private static Task <int> CountRecursivelyAsync(int count) { CountRecursivelyAsyncd__1 stateMachine = new CountRecursivelyAsyncd__1(); stateMachine.count = count; stateMachine.t__builder = CSharpAsync.AsyncTaskMethodBuilder <int> .Create(); stateMachine.state = -1; //stateMachine.t__builder.Start(ref stateMachine); //return stateMachine.t__builder.Task;Í AsyncTaskMethodBuilder <int> t__builder = stateMachine.t__builder; t__builder.Start(ref stateMachine); return(stateMachine.t__builder.Task); }
private void MoveNextSimple() { int num = state; int result; try { TaskAwaiter <int> awaiter; if (num == 0) { awaiter = u__2; u__2 = default(TaskAwaiter <int>); num = (state = -1); goto IL_0088; } if (count > 0) { awaiter = CountRecursivelyAsync(count - 1).GetAwaiter(); if (!awaiter.IsCompleted) { num = (state = 0); u__2 = awaiter; CountRecursivelyAsyncd__1 stateMachine = this; t__builder.AwaitUnsafeOnCompleted(ref awaiter, ref stateMachine); return; } goto IL_0088; } result = count; goto end_IL_0007; IL_0088: s__1 = awaiter.GetResult(); result = 1 + s__1; end_IL_0007 :; } catch (Exception exception) { state = -2; t__builder.SetException(exception); return; } state = -2; t__builder.SetResult(result); }