static void Main(string[] args) { //Crear un nuevo reloj -- publicador Reloj reloj = new Reloj(); //Crear el mostrador y decirle que suscriba al reloj MostrarReloj mr = new MostrarReloj(); mr.Suscribir(reloj); //Crear un objeto Log y decirle que se suscriba al reloj LogHoraActual horaActual = new LogHoraActual(); horaActual.Suscribir(reloj); //Poner a andar el reloj reloj.Run(); }
//Suscribirse al evento //Dado un Reloj, suscribirse a su evento SecondChangeHandler public void Suscribir(Reloj reloj) { //Aqui se define que es un delegado compuesto por la operación += reloj.OnSecondChange += new Reloj.SecondChangeHandler(HoraACambiado); }