Diferencia entre delegados y eventos en C#

Diferencia entre delegados y eventos en C#

Diferencia clave: delegados vs eventos en C#
 

C# es un lenguaje de programación desarrollado por Microsoft. Admite programación estructurada y programación orientada a objetos. Los delegados y los eventos se utilizan para la programación basada en eventos en C#.  Un delegado es un puntero seguro para un método. En una aplicación con una interfaz gráfica de usuario (GUI), hay botones, etc. Cuando se hace clic en un botón, se produce algún tipo de acción. Esas acciones se llaman eventos. Por ejemplo, actualizar una página web activará el evento de carga de la página. Este artículo analiza la diferencia entre delegados y eventos en C#. El diferencia clave entre delegado y evento en C# es que Un delegado es una referencia a un método, mientras que un evento se asocia con un controlador de eventos que usa un delegado. Cuando ocurre un evento, envía una señal al delegado. Entonces el delegado ejecuta la función correspondiente.  Por lo tanto, todos los eventos dependen de los delegados.

CONTENIDO

1. Descripción general y diferencia de claves
2. ¿Qué son los delegados en C#?
3. ¿Qué son los eventos en C#?
4. Similitudes entre delegados y eventos en C#
5. Comparación de lado a lado: delegados vs eventos en C# en forma tabular
6. Resumen

¿Qué son los delegados en C#??

Los delegados en C# son similares a las funciones de devolución de llamada en otros lenguajes de programación como JavaScript. Las funciones de devolución de llamada se asignan en tiempo de ejecución. Proporcionan funcionalidad que se puede cambiar y salir según sea necesario. Lo mismo se puede implementar utilizando delegados en C#. Los delegados en C# desacoulan la persona que llama y la función llamada. Por lo tanto, reduce el acoplamiento pesado.

.Tipos clasificados en el marco neto en dos categorías. Son tipos de valor y tipos de referencia. La estructura es un ejemplo de tipo de valor. La clase es un ejemplo de tipo de referencia. También se hace referencia a los delegados. Se utiliza un delegado para mantener una referencia a un método. Son punteros tipo seguro. Delegados se derivan del sistema.Clase delegada. La declaración delegada es similar a una declaración de método, pero contiene la palabra clave 'delegado'.  La sintaxis del delegado es la siguiente. delegar . El tipo de retorno declara el valor de retorno por el método. Es llamado por el delegado. La lista de parámetros define los parámetros requeridos por el método. Consulte el siguiente programa con delegados.

Figura 01: programa C# con delegados

Según el programa anterior, los métodos Calsquare y Calcube son similares al delegado declarado. En el programa principal, la CAL variable se asigna a la función calsquare. Ahora, Cal está apuntando al método CalSquare.  Al pasar el valor, se devuelve el valor cuadrado y se imprime a la pantalla. Nuevamente, Cal se asigna al método de Calcube. Ahora, Cal está apuntando al método de Calcube. Al pasar el valor, el valor del cubo se devuelve e imprime a la pantalla. El mismo delegado se utiliza para referir diferentes métodos. Por lo tanto, aumenta la flexibilidad del programa.

¿Qué son los eventos en C#??

En una aplicación puede haber presionas de teclas, clics de botones y movimientos del mouse. Cuando ocurran, un evento habrá planteado. Cuando se presiona el botón Enviar en un formulario de envío, el evento Button_Click () se eleva en segundo plano. El evento llama a ejecutar la función asociada. Cuando ocurre un evento, la respuesta de la aplicación a eso. Hay dos secciones en un programa de manejo de eventos. El editor contiene la definición de eventos y delegado. El suscriptor acepta el evento y proporciona el controlador de eventos.

La declaración del evento es el evento; El tipo de declaración de evento debe ser un tipo delegado, y el delegado debe ser tan accesible como el evento en sí mismo. El nombre del evento debe ser un nombre de C# válido.

Figura 02: programa C# con eventos

Según el programa anterior, se crean el delegado y el evento. En la clase de calcular, hay un método para agregar dos números. Si se encuentra un número impar, el evento ocurrirá. Es el EventoddNumber (). En el método principal, el controlador de eventos EventoddNumber llama al delegado. Finalmente, el delegado ejecuta el método.

¿Cuál es la similitud entre delegados y eventos en C#??

  • Tanto los delegados como los eventos en C# están relacionados con los eventos

¿Cuál es la diferencia entre delegados y eventos en C#??

Delegados vs eventos en C#

Un delegado es una variable de tipo de referencia que contiene la referencia a un método. Un evento es un miembro de clase de tipo delegado utilizado por el objeto o clase para proporcionar notificación a otros objetos que ha ocurrido un evento.
 Palabra clave
Se declara un delegado utilizando la palabra clave 'delegado'. Se declara un evento utilizando la palabra clave "evento".
Dependencia
Los delegados son subestimables. Los eventos dependen de los delegados.

Resumen - Delegados vs eventos en C#

Los delegados y los eventos son dos conceptos asociados con la programación basada en eventos en C#. Este artículo discutió la diferencia entre delegados y eventos en C#. La diferencia entre delegado y evento en C# es que un delegado es una referencia a un método, mientras que un evento está asociado con un controlador de eventos que usa un delegado. Los eventos dependen de los delegados. Cuando ocurrió un evento, envía una señal al delegado. Entonces el delegado ejecuta la función correspondiente

Referencia:

1.Balagurusamy, E. Programación en C#, un primer ministro. Cuarta Ed., McGraw Hill Education (India) Private Limited, 2016.
2."Menú Primaria."C Tutorial. Disponible aquí 
3.sachinbpaul. Delegados en C#, Sachin Paul, 1 de octubre. 2014. Disponible aquí