Пример #1
0
        public void Undo()
        {
            if (nameChanged)
            {
                bool b = origParentNode.TreeNode.Children.Remove(fieldNode.TreeNode);
                Debug.Assert(b);
                if (!b)
                {
                    throw new InvalidOperationException();
                }

                origOptions.CopyTo(fieldNode.FieldDef);
                origParentNode.TreeNode.Children.Insert(origParentChildIndex, fieldNode.TreeNode);
            }
            else
            {
                origOptions.CopyTo(fieldNode.FieldDef);
            }
            if (memberRefInfos != null)
            {
                foreach (var info in memberRefInfos)
                {
                    info.MemberRef.Name = info.OrigName;
                }
            }
            fieldNode.TreeNode.RefreshUI();
        }
Пример #2
0
        public void Execute()
        {
            if (nameChanged)
            {
                bool b = origParentChildIndex < origParentNode.TreeNode.Children.Count && origParentNode.TreeNode.Children[origParentChildIndex] == fieldNode.TreeNode;
                Debug.Assert(b);
                if (!b)
                {
                    throw new InvalidOperationException();
                }
                origParentNode.TreeNode.Children.RemoveAt(origParentChildIndex);
                newOptions.CopyTo(fieldNode.FieldDef);

                origParentNode.TreeNode.AddChild(fieldNode.TreeNode);
            }
            else
            {
                newOptions.CopyTo(fieldNode.FieldDef);
            }
            if (memberRefInfos != null)
            {
                foreach (var info in memberRefInfos)
                {
                    info.MemberRef.Name = fieldNode.FieldDef.Name;
                }
            }
            fieldNode.TreeNode.RefreshUI();
        }