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);
            }
        }
Пример #2
0
 /// <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);
            }
        }