Eventos de C#

Eventos de C#

Los eventos deben ser respondidos lo antes posible por aplicaciones. De tal manera que las interrupciones, la comunicación entre procesos se logra a través del uso de eventos. Las acciones del usuario, como pulsaciones de teclas, clics y movimientos del mouse, como eventos generados por el sistema, son ejemplos de acciones del usuario. En C#, un evento es un delegado que ha sido encapsulado. El delegado define la declaración del método del controlador de eventos para el suscriptor de clase. En el artículo, especificaremos el evento que ocurre en C# y también notifica a las otras clases al respecto, así como discutirá el controlador de eventos de ocurrencia en C#.

¿Qué es el evento en C# en Ubuntu 20?.04?

Los delegados se utilizan para definir eventos en C#, que son un subconjunto de delegados. Se requiere que un editor plantee un evento en C#, y también se requiere una clase de suscriptor para recibir y manejar un evento. El evento se publica con la ayuda de la clase de editorial. La clase de suscriptor es una clase adicional que procesa tales eventos. Se utiliza un paradigma editorial-subscriber para eventos en C#. En general, la clase que envía el evento se conoce como la clase editorial, y la clase que recibe el evento se conoce como la clase de suscriptor.

Sintaxis de declarar el evento en C# en Ubuntu 20.04

La sintaxis de una función o método es importante en la programación, y tenemos una sintaxis simple para la función del controlador de eventos es la siguiente:

Delegado público Void DelegateHandler (); // delegado

Primero, el tipo de evento delegado debe especificarse antes de que el evento pueda ser declarado en la clase.

Evento público void delegateHandler eventHandler (); // evento

El código anterior crea un "DelegateHandler" utilizando el Delegado de palabras clave y un evento "EventHandler" que llama al delegado cuando se plantea. Tenga en cuenta que solo en la clase donde se declaró el evento se puede usar para invocarla.

Cómo declarar los eventos en C# en Ubuntu 20.04

Para comprender cómo funciona el controlador de eventos y los eventos delegados en C#, deberíamos tener ejemplos de programación práctica. Estos ejemplos se implementan en Ubuntu 20.04 usando un compilador mono para C#.

Ejemplo # 1: Programa de usar delegados en C # en Ubuntu 20.04

El ejemplo es simplemente declarar el delegado y también declarar una variable delegada con la palabra clave del evento. Hemos declarado un evento para el siguiente código en la clase del editor.

Hemos importado la biblioteca del sistema de C# como "Uso del sistema" que nos ayuda a incluir las clases y funciones como la clase de consola y la función de escritura. El espacio de nombres recibe el nombre "MyApp" que identifica y encapsula nuestro código. El delegado se define aquí como "del" de tipo cadena y pasa "str" ​​de cadena como parámetro. Después de eso, la clase de editor se crea como "EventExample". En la clase del editor, hemos declarado un delegado "del" y utilizando el modificador "Evento", hemos declarado un evento para el tipo delegado "del".Luego, hemos llamado "EventExample" y creamos un objeto "este.Evento".

El objeto se inicializa con el delegado "del" mediante el uso de una nueva palabra clave y pasando otro objeto "este.Hellouser "para eso. Hemos llamado "Hellouser" como un tipo de cadena que ha pasado con un nuevo objeto "Myuser" como parámetro. La declaración de devolución devolverá el valor de MyUser junto con la cadena "Hola". El Void Main ha invocado la clase de editor "EventExample" donde hemos asignado un valor a "myuser" en el "OBJ. Evento". El "obj. El evento "se inicializa para la variable" resultado "que hemos pasado en la consola.Método de escritura para visualización.

La salida de la ejecución del programa anterior se muestra en la pantalla de la consola.

Ejemplo # 2: Programa de consumir un evento en C # en Ubuntu 20.04

La clase de suscriptor debe registrarse para el evento y manejarlo con el método cuya declaración coincida con el delegado como se muestra en el siguiente programa.

El evento "myProcessCompleted" se suscribe a la clase "myprogram". Utiliza el operador "+=" para registrarse en el evento. Recuerde que podemos agregar métodos a la lista de invocación del delegado de multidifusión de la misma manera. El evento se maneja aquí mediante el método "P1_MyProcessCompleted ()", que coincide con la declaración de tipo delegado "Notificador" y la consola. Se invoca el método de escritura para imprimir el mensaje particular. El método OnProcessCompleted () se llama al final del método StartProcess (), que plantea un evento.

Luego, el nombre del evento "OnProcessCompleted" se llama y se define con el método virtual protegido. El método OnProcessCompleted () utiliza ProcessCompleted. Invocar () para llamar al delegado. Esto verifica primero que el evento "myProcessCompleted" no debe ser nulo y luego, llama al delegado "notificador".

Tras la ejecución del código de gastos generales, tenemos la salida impresa en la pantalla adjunta a continuación.

Ejemplo # 3: Programa de aprobación de datos en EventHandlerDelegate incorporado en C # en Ubuntu 20.04

La mayoría de los eventos envían datos a sus suscriptores. La clase EventArgs sirve como base para todas las clases de datos de eventos. Para pasar los datos al controlador, usamos EventHandler. El código se ilustra a continuación.

Aquí tenemos una clase llamada "EventHandlerProgram". En la clase, tenemos una función principal vacía llamada que tiene un objeto "EventHandlerProcess" como P1. El objeto se inicializa con la nueva palabra clave e invoca por eventHandlerProcess (). El P1_ProcessCompleted se registra como un evento aquí utilizando el operador "+=". Al final de la parte principal vacía, la función StartProcess () también se invoca para el método OnProcessCompleted que plantea un evento. Luego, tenemos un controlador de eventos "P1_ProcessCompleted" en el que hemos pasado un objeto como "fuente" y escribe bool como "issuccessful".

La consolewriteLine imprimirá la declaración booleana. Se crea la clase "EventHandler" en la que tenemos un EventHandler incorporado para declarar un evento. Además, hemos invocado el método STARTProcess que tiene un bloque de prueba de prueba para el manejo de excepciones si se produce. El "OnProcessCompleted" se llama con el método virtual protegido. En la función OnProcessCompleted (), usamos Invoke () para plantear un evento, hemos especificado "esto" como remitente y bool como "Issuccessful". Tenga en cuenta que los manejadores reciben un valor de bool único que indica si el proceso tuvo éxito o fallido.

La salida de la compilación del código se muestra en la imagen a continuación.

Ejemplo # 4: Programa de declaración y recaudación de eventos en C # en Ubuntu 20.04

El siguiente es un ejemplo en el que tenemos que declarar y plantear un evento en el lenguaje de programación C# utilizando el tipo de delegado central.

En el ejemplo anterior, tenemos una clase "operaciones aritméticas" como una clase de editor en la que hemos realizado la funcionalidad necesaria que verifica si la clase de invocación suscrita al evento o no. El delegado se declara en la clase de editor como delegado y el evento se declara como "Myevent". El vacío ADD está tomando "x1" y "y1" como valores de parámetros. En el bloque de adiciones vacío, hemos llamado a un delegado a través de la declaración if-else para verificar la suscripción. El evento "Myevent" se plantea en la declaración if-else e imprime el mensaje a través del método de escritura. Luego, tenemos la clase de suscriptor como operaciones con los métodos requeridos. Utilizamos el operador += en la clase de operaciones para suscribirnos al evento "myevent" y nombramos un controlador como "myeventhandler" para realizar las operaciones apropiadas cuando se planteó un evento. El método del controlador "myEventHandler" en la clase de operaciones tiene la misma implementación que en el método delegado "delegado" en la clase "AritmetOperations".

Puede ver la salida de la operación aritmética básica por el controlador de eventos en C# a continuación.

Conclusión

Hemos pasado profundamente el evento C# discutiendo cuáles son los eventos en C# y la sintaxis básica que implementamos en la programación. También hemos ejecutado el ejemplo de eventos y controladores de eventos al mostrar cómo crear eventos simples, plantear un evento y también suscribirnos a un evento mostrando su salida en la pantalla terminal de Ubuntu. Estos son ejemplos muy básicos que podrían ayudarlo a comprender claramente.