static void Main(string[] args) { // Creamos el originador Originador auto = new Originador("Mercedes Benz", 2020, 350000, "Gasolina"); auto.Mostrar(); // Creamos el caretaker CareTaker ct = new CareTaker(); // Guardamos el estado ct.Memento = auto.CreaMemento(); //el memento que se crea queda guardado en el caretaker //Modificamos el objeto auto.Nombre = "McLaren"; auto.Modelo = 1970; auto.Costo = 26000; auto.Combustible = "Diesel"; auto.Mostrar(); // Restauramos el estado anterior auto.Restaura(ct.Memento); auto.Mostrar(); Console.ReadLine(); }
internal void Salvar(Originador objeto) { BinaryFormatter formateador = new BinaryFormatter(); Stream miStream = new FileStream("Autos.aut", FileMode.Create, FileAccess.Write, FileShare.None); formateador.Serialize(miStream, objeto); miStream.Close(); Console.WriteLine("Se ha salvado"); }
internal Originador Restaurar() { BinaryFormatter formateador = new BinaryFormatter(); Stream miStream = new FileStream("Autos.aut", FileMode.Open, FileAccess.Read, FileShare.None); Originador temp = (Originador)formateador.Deserialize(miStream); miStream.Close(); Console.WriteLine("Se ha restaurado"); return(temp); }