Пример #1
0
        public Task <string> Archive(string name)
        {
            _Archive_d__0 stateMachine = new _Archive_d__0();

            stateMachine.__4__this    = this;
            stateMachine.name         = name;
            stateMachine.__t__builder = AsyncTaskMethodBuilder <string> .Create();

            stateMachine.__1__state = -1;
            AsyncTaskMethodBuilder <string> __t__builder = stateMachine.__t__builder;

            __t__builder.Start(ref stateMachine);
            return(stateMachine.__t__builder.Task);
        }
Пример #2
0
            private void MoveNext()
            {
                int    num = __1__state;
                string result;

                try
                {
                    TaskAwaiter <string> awaiter2;
                    TaskAwaiter <string> awaiter;
                    switch (num)
                    {
                    default:
                        Console.WriteLine("  Archiving " + name);
                        awaiter2 = __4__this.Download(name).GetAwaiter();
                        if (!awaiter2.IsCompleted)
                        {
                            num    = (__1__state = 0);
                            __u__1 = awaiter2;
                            _Archive_d__0 stateMachine = this;
                            __t__builder.AwaitUnsafeOnCompleted(ref awaiter2, ref stateMachine);
                            return;
                        }
                        goto IL_0093;

                    case 0:
                        awaiter2 = __u__1;
                        __u__1   = default(TaskAwaiter <string>);
                        num      = (__1__state = -1);
                        goto IL_0093;

                    case 1:
                    {
                        awaiter = __u__1;
                        __u__1  = default(TaskAwaiter <string>);
                        num     = (__1__state = -1);
                        break;
                    }
IL_0093:
                        __s__3         = awaiter2.GetResult();
                        _contents_5__1 = __s__3;
                        __s__3         = null;
                        Console.WriteLine("    Downloaded " + name);
                        awaiter = __4__this.Save(name, _contents_5__1).GetAwaiter();
                        if (!awaiter.IsCompleted)
                        {
                            num    = (__1__state = 1);
                            __u__1 = awaiter;
                            _Archive_d__0 stateMachine = this;
                            __t__builder.AwaitUnsafeOnCompleted(ref awaiter, ref stateMachine);
                            return;
                        }
                        break;
                    }
                    __s__4     = awaiter.GetResult();
                    _path_5__2 = __s__4;
                    __s__4     = null;
                    Console.WriteLine("    Saved " + name);
                    result = _path_5__2;
                }
                catch (Exception exception)
                {
                    __1__state = -2;
                    __t__builder.SetException(exception);
                    return;
                }
                __1__state = -2;
                __t__builder.SetResult(result);
            }