コード例 #1
0
        private IVirtualItem MoveItem(IChangeVirtualItem item, IVirtualFolder dest)
        {
            ChangeItemAction action;
            AvailableItemActions canRetryOrElevate = AvailableItemActions.CanRetryOrElevate;
        Label_0003:;
            try
            {
                return item.MoveTo(dest);
            }
            catch (UnauthorizedAccessException exception)
            {
                action = this.MoveItemError(item, canRetryOrElevate, exception);
                canRetryOrElevate &= ~AvailableItemActions.CanElevate;
            }
            catch (Exception exception2)
            {
                action = this.MoveItemError(item, canRetryOrElevate, exception2);
            }
            switch (action)
            {
                case ChangeItemAction.Retry:
                    goto Label_0003;

                case ChangeItemAction.Skip:
                    return null;

                case ChangeItemAction.Cancel:
                    base.CancelAsync();
                    return null;
            }
            throw new InvalidEnumArgumentException();
        }