public void setMemento(TreeMemento memento) { //如果一个没有直接添加 if (mementQueue.Count() == 0) { mementQueue.Add(memento); return; } //插入第一个位置 mementQueue.Insert(0, memento); //如果个数超过最大个数 if (mementQueue.Count() > maxMementoCount) { //移除最后一个 mementQueue.RemoveAt(mementQueue.Count() - 1); } }
/// <summary> /// 保存修改 /// </summary> public void AddMemento() { TreeMemento treeMemento = new TreeMemento((Node)this.treeHandler.Tree.Root.Clone()); this.treeCaretaker.setMemento(treeMemento); }
/// <summary> /// 从备忘录里还原 /// </summary> /// <param name="memento"></param> public void restoreMemento(TreeMemento memento) { this.Tree.Root = memento.state; }
public void setMemento(TreeMemento memento) { //如果一个没有直接添加 if (mementQueue.Count() == 0) { mementQueue.Add(memento); return; } //插入第一个位置 mementQueue.Insert(0, memento); //如果个数超过最大个数 if (mementQueue.Count() > maxMementoCount) { //移除最后一个 mementQueue.RemoveAt(mementQueue.Count() - 1); } }