3.Eventos


 Funcionamientos y usos de eventos.

Los eventos en C# son una forma de notificar a los objetos que algo ha ocurrido en otro objeto o en el sistema. Los eventos se utilizan para implementar la comunicación entre objetos en una aplicación.

Así mismo, los eventos son un mecanismo de programación en el que un objeto (el "origen" del evento) notifica a otros objetos (los "suscriptores") sobre algún suceso que ha ocurrido. Esta notificación se realiza mediante el uso de un delegado, que es un tipo especial en C# que permite representar un método como un objeto.

La clase que origina el evento define un evento y su tipo de delegado, y los objetos que desean ser notificados se suscriben a ese evento mediante el operador "+=". Cuando ocurre el suceso, la clase origen invoca el evento, lo que hace que se ejecuten todos los métodos suscriptos.


Clasificación de los eventos


En C#, los eventos se clasifican en dos categorías:

  1. Eventos delegados: son eventos que se basan en el delegado System.Delegate y su tipo derivado System.EventHandler. Este tipo de eventos es el más común y fácil de utilizar en C#. Un evento delegado se puede declarar como una variable del tipo EventHandler y se puede asignar un método que se ejecutará cuando se produzca el evento.
  2.  Eventos custom: son eventos que se pueden personalizar y crear a medida según las necesidades de la aplicación. Para crear un evento personalizado, primero debemos crear un delegado personalizado y luego declarar el evento utilizando este delegado.


Controladores de eventos
a     

Un controlador de eventos es un método que se ejecuta cuando se produce un evento. En C#, los controladores de eventos se asocian a un evento mediante la suscripción al evento. La suscripción se realiza utilizando el operador += y proporcionando una referencia al método que se ejecutará cuando se produzca el evento.

Pasos para crear y asociar eventos en C#

1.       Primero, Defina un delegate para el tipo de evento: Un delegate es un tipo que representa referencias a métodos con una firma determinada. Para crear un delegate para su evento, declare un tipo de delegate que tenga la misma firma que los controladores de eventos que desea asociar con el evento.

2.       Luego, Defina un evento basado en el delegate: Para crear un evento, declare un evento en su clase que utilice el delegate creado en el paso 1.

3.       En tercer lugar, Raise the event: Para disparar el evento, llame al evento en su código y proporcione el objeto que es el origen del evento y un objeto EventArgs que contenga información adicional sobre el evento.

4.       En cuarto lugar, asociar el controlador de eventos: Para asociar un controlador de eventos con el evento, simplemente agregue un método con la misma firma que el delegate a la lista de controladores de eventos del evento.

5.       En quinto lugar, asociar el controlador de eventos: Para asociar un controlador de eventos con el evento, simplemente agregue un método con la misma firma que el delegate a la lista de controladores de eventos del evento.


En este ejemplo, la clase PublicadorDeEventos tiene un evento llamado MiEvento y la clase SuscriptorDeEventos tiene un método ManejarEvento que es asociado con el evento en la clase Programa. Cuando se llama al método LanzarEvento en la clase PublicadorDeEventos, se lanza el evento y se ejecuta el método ManejarEvento en la clase SuscriptorDeEventos.


1.

Comentarios

Entradas populares de este blog

1.Delegados.

2.Expresiones LAMBDA