public void Undo() { if (nameChanged) { bool b = origParentNode.Children.Remove(fieldNode); Debug.Assert(b); if (!b) { throw new InvalidOperationException(); } origOptions.CopyTo(fieldNode.FieldDefinition); origParentNode.Children.Insert(origParentChildIndex, fieldNode); } else { origOptions.CopyTo(fieldNode.FieldDefinition); } fieldNode.RaiseUIPropsChanged(); }
public void Execute() { if (nameChanged) { bool b = origParentChildIndex < origParentNode.Children.Count && origParentNode.Children[origParentChildIndex] == fieldNode; Debug.Assert(b); if (!b) { throw new InvalidOperationException(); } origParentNode.Children.RemoveAt(origParentChildIndex); newOptions.CopyTo(fieldNode.FieldDefinition); origParentNode.AddToChildren(fieldNode); } else { newOptions.CopyTo(fieldNode.FieldDefinition); } fieldNode.RaiseUIPropsChanged(); }