async void Main修改为返回Task
61 lignes
namespace CSharp_AsyncLearn
namespace CSharp_AsyncLearn
{
{
    internal class Program
    internal class Program
    {
    {
        [CompilerGenerated]
        [CompilerGenerated]
        private sealed class <Main>d__0 : IAsyncStateMachine
        private sealed class <Main>d__0 : IAsyncStateMachine
        {
        {
            public int <>1__state;
            public int <>1__state;
            public AsyncVoidMethodBuilder <>t__builder;
            public AsyncTaskMethodBuilder <>t__builder;
            [System.Runtime.CompilerServices.Nullable(new byte[] { 0, 1 })]
            [System.Runtime.CompilerServices.Nullable(new byte[] { 0, 1 })]
            public string[] args;
            public string[] args;
            private void MoveNext()
            private void MoveNext()
            {
            {
                int num = <>1__state;
                int num = <>1__state;
                try
                try
                {
                {
                }
                }
                catch (Exception exception)
                catch (Exception exception)
                {
                {
                    <>1__state = -2;
                    <>1__state = -2;
                    <>t__builder.SetException(exception);
                    <>t__builder.SetException(exception);
                    return;
                    return;
                }
                }
                <>1__state = -2;
                <>1__state = -2;
                <>t__builder.SetResult();
                <>t__builder.SetResult();
            }
            }
            void IAsyncStateMachine.MoveNext()
            void IAsyncStateMachine.MoveNext()
            {
            {
                //ILSpy generated this explicit interface implementation from .override directive in MoveNext
                //ILSpy generated this explicit interface implementation from .override directive in MoveNext
                this.MoveNext();
                this.MoveNext();
            }
            }
            [DebuggerHidden]
            [DebuggerHidden]
            private void SetStateMachine([System.Runtime.CompilerServices.Nullable(1)] IAsyncStateMachine stateMachine)
            private void SetStateMachine([System.Runtime.CompilerServices.Nullable(1)] IAsyncStateMachine stateMachine)
            {
            {
            }
            }
            void IAsyncStateMachine.SetStateMachine([System.Runtime.CompilerServices.Nullable(1)] IAsyncStateMachine stateMachine)
            void IAsyncStateMachine.SetStateMachine([System.Runtime.CompilerServices.Nullable(1)] IAsyncStateMachine stateMachine)
            {
            {
                //ILSpy generated this explicit interface implementation from .override directive in SetStateMachine
                //ILSpy generated this explicit interface implementation from .override directive in SetStateMachine
                this.SetStateMachine(stateMachine);
                this.SetStateMachine(stateMachine);
            }
            }
        }
        }
        [System.Runtime.CompilerServices.NullableContext(1)]
        [System.Runtime.CompilerServices.NullableContext(1)]
        [AsyncStateMachine(typeof(<Main>d__0))]
        [AsyncStateMachine(typeof(<Main>d__0))]
        [DebuggerStepThrough]
        [DebuggerStepThrough]
        private static void Main(string[] args)
        private static Task Main(string[] args)
        {
        {
            <Main>d__0 stateMachine = new <Main>d__0();
            <Main>d__0 stateMachine = new <Main>d__0();
            stateMachine.<>t__builder = AsyncVoidMethodBuilder.Create();
            stateMachine.<>t__builder = AsyncTaskMethodBuilder.Create();
            stateMachine.args = args;
            stateMachine.args = args;
            stateMachine.<>1__state = -1;
            stateMachine.<>1__state = -1;
            stateMachine.<>t__builder.Start(ref stateMachine);
            stateMachine.<>t__builder.Start(ref stateMachine);
            return stateMachine.<>t__builder.Task;
        }
        }
    }
    }
}
}