public virtual void Restore() { foreach (var childMemento in ChildMementos.Reverse()) { CurrentMemento = childMemento; childMemento.Restore(); } CurrentMemento = null; }
public IMemento Restore() { var inverseMemento = new CompoundMemento { Name = Name }; foreach (var childMemento in ChildMementos.Reverse()) { inverseMemento.ChildMementos.Add(childMemento.Restore()); } return(inverseMemento); }