public void RestoreMemeto(Memento memeto) { if (memeto != null) { this.ContactPersons = memeto.ContactPersons; } }
static void Main(string[] args) { List<ContactPerson> contactPersons = new List<ContactPerson>() { new ContactPerson(){Name="张三",MobileNumber="123456789"}, new ContactPerson(){Name="李四",MobileNumber="987498416"}, new ContactPerson(){Name="王五",MobileNumber="284589891"} }; MobileOwner owner = new MobileOwner(contactPersons); Administrator admin = new Administrator(); admin.MemetoDictionary.TryAdd(DateTime.Now.ToString(), owner.CreateMemento()); owner.Show(); Console.WriteLine("--------------------------------------"); Console.WriteLine("删掉王五联系人"); Console.WriteLine("--------------------------------------"); owner.ContactPersons.RemoveAt(2); admin.MemetoDictionary.TryAdd(DateTime.Now.ToString(), owner.CreateMemento()); owner.Show(); Console.WriteLine("--------------------------------------"); Console.WriteLine("还原之前备份的联系人列表"); Memento memento = new Memento(null); if (admin.MemetoDictionary.TryGetValue(admin.MemetoDictionary.Keys.First(), out memento)) { owner.RestoreMemeto(memento); Console.WriteLine("--------------------------------------"); owner.Show(); } else Console.WriteLine("获取备份失败"); Console.ReadKey(); }
public void SetMemento(Memento memento) { Console.WriteLine("Restoring state:"); State = memento.State; }
public void SetMemeto(Memento memento) { this.state = memento.State; //... 其它属性 }
public void SetMemento(Memento memento) { state = memento.State; }
public void getStateFromMemento(Memento Memento) { state = Memento.getState(); }
public void SetMemento(Memento memento) { State = memento.State; }
public void add(Memento state) { mementoList.Add(state); }