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(); }
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(); }