public Quemador(TanqueDeAgua tanque) { Timer = new Timer(100);//instancia de Timer. Timer.Enabled = false; Timer.Elapsed += Encender; Tanque = tanque; }
public event EventHandler<ArgumentosCambioDeEstado> EnCambioDeEstado;//un evento, una clase especial de delegado que puede guardar muchos metodos. se llama EnCambioDeEstado.// todos los metodos que se agregen aqui, deben implementar la firma que regresa void, y recibe un object y el otro objeto que hereda de envent argrs. public Termostato(TanqueDeAgua tanque) { TemLimiteSup = 40; TemLimiteInferior = 20; Estado = Estado.Piloto; Tanque = tanque; Tanque.EnCambioTemperatura += ChecarEstado;//handler, cuando se haga una instancia de este objeto, el metodo ChecarEstado se va ejecutar. }
public BoilerAutomatico() { Tanque = new TanqueDeAgua(); Termostato = new Termostato(Tanque); Timer = new Timer(100);//cada 100 milisegundsw va ejecutar lo que haya en el metodo. Timer.Enabled = false;//no esta habilitado. Quemador = new Quemador(Tanque); Timer.Elapsed += DespacharAgua;//este es un EventHandler y como tal guarda un arreglo de metodos, es como un delegado, pero un arreglo de delegados. y se le agregan metodos con el +=.DespacharAgua es un metodo que cumple con la firma de Time.Elapsed. Termostato.EnCambioDeEstado += ManejarQuemador;//este es un EventHandlere//ManejarQuemador es el nombre del metodo que se va guardar en CambioDeEstado que es el evento y que tiene cierta firma. }