Structure Chart:
Memento class: Containers for saving states
Copy Code code as follows:
Class Memento
{
public string State {get; set;}
Public Memento (String state)
{
This. state = State;
}
}
Caretaker is to save the Memento class:
Copy Code code as follows:
Class caretaker
{
Public Memento Memento {get; set;}
}
The originator class is the class that needs to save the state:
Copy Code code as follows:
Class originator
{
public string State {get; set;}
Public Memento Creatememento ()
{
Return (new Memento);
}
public void Setmemento (Memento Memento)
{
state = Memento. State;
}
public void Show ()
{
Console.WriteLine ("State:" + state);
}
}
Main function Call:
Copy Code code 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 ();
}
}