Structure:
Memento class: the container that saves the statusCopy codeThe Code is as follows: class Memento
{
Public string State {get; set ;}
Public Memento (string state)
{
This. State = state;
}
}
Caretaker is the class for saving Memento:Copy codeThe Code is as follows: class Caretaker
{
Public Memento {get; set ;}
}
The Originator class is the class to save the status:Copy codeThe Code is as follows: class Originator
{
Public string State {get; set ;}
Public Memento CreateMemento ()
{
Return (new Memento (State ));
}
Public void SetMemento (Memento memento)
{
State = memento. State;
}
Public void Show ()
{
Console. WriteLine ("State:" + State );
}
}
Main function call:Copy codeThe Code is as follows: class Program
{
Static void Main (string [] args)
{
Originator o = new Originator ();
O. State = "On ";
O. Show ();
Caretaker c = new Caretaker ();
C. Memento = o. CreateMemento ();
O. State = "off ";
O. Show ();
O. SetMemento (c. Memento );
O. Show ();
Console. ReadKey ();
}
}