public void AwaitOnCompleted <TAwaiter, TStateMachine>( ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : INotifyCompletion where TStateMachine : IAsyncStateMachine { var foo = stateMachine; if (awaiter is IStepResultAwaiter stateAwaiter) { if (stateAwaiter.IsCompleted) { awaiter.OnCompleted(() => { foo.MoveNext(); }); } else { Task = new StepState <T>(stateAwaiter.Data); } } }
public void SetResult(T result) => Task = new StepState <T>(result);