示例#1
0
        static void Main(string[] args)
        {
            Semaforo s = new Semaforo()
            {
                Color = "rojo"
            };
            Auto    auto     = new Auto();
            Persona persona1 = new Persona()
            {
                Nombre = "Marco"
            };
            Persona persona2 = new Persona()
            {
                Nombre = "Javi"
            };

            s.CambiarLuz(); // Nadie está atento al evento

            auto.Subscribe(s);
            persona1.Subscribe(s);
            s.CambiarLuz();
            persona2.Subscribe(s);
            s.CambiarLuz();
            persona1.Unsubscribe(s);
            s.CambiarLuz();

            auto.Unsubscribe(s); // Quitamos la suscripción al evento
            s.CambiarLuz();
        }
示例#2
0
 // Método para quitar la suscripción del auto al evento
 public void Unsubscribe(Semaforo s)
 {
     s.CambioDeLuz -= OnCambioDeLuz;
 }
示例#3
0
 // Método para suscribir el auto al evento
 public void Subscribe(Semaforo s)
 {
     s.CambioDeLuz += OnCambioDeLuz;
 }