Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Eventos en C#: Manejo de acciones de usuario y notificaciones del sistema

Los eventos son acciones del usuario como pulsaciones de teclas, clics, movimientos del ratón, etc., u ocurrencias como notificaciones generadas por el sistema. Las aplicaciones deben responder a los eventos cuando ocurren. Por ejemplo, interrupciones. Los eventos se utilizan para la comunicación entre procesos.

Uso de delegados con eventos

Los eventos se declaran y generan en una clase y se asocian con los controladores de eventos usando delegados dentro de la misma clase o en otra clase. La clase que contiene el evento se usa para publicar el evento. Esto se llama la clase publicadora. Otra clase que acepta este evento se llama la clase suscriptora. Los eventos usan el modelo publicador-suscriptor.

Un publicador es un objeto que contiene la definición del evento y el delegado. La asociación evento-delegado también se define en este objeto. Un objeto de la clase publicadora invoca el evento y se notifica a otros objetos.

Un suscriptor es un objeto que acepta el evento y proporciona un controlador de eventos. El delegado en la clase publicadora invoca el método (controlador de eventos) de la clase suscriptora.

Declaración de eventos

Para declarar un evento dentro de una clase, primero debe declarar un tipo de delegado para el evento:

public delegate string ManejadorRegistroCaldera(string str);

Luego, declare el evento usando la palabra clave event:

event ManejadorRegistroCaldera EventoRegistroCaldera;

El código anterior define un delegado llamado ManejadorRegistroCaldera y un evento llamado EventoRegistroCaldera, que invoca al delegado cuando se genera.

Ejemplo

Demo en vivo
using System; 
namespace AplicacionEjemplo { 
    public delegate string MiDel(string str); 
    class ProgramaEvento { 
        event MiDel MiEvento; 
        public ProgramaEvento() { 
            this.MiEvento += new MiDel(this.BienvenidoUsuario); 
        } 
        public string BienvenidoUsuario(string nombreUsuario) { 
            return "Bienvenido " + nombreUsuario; 
        } 
        static void Main(string[] args) { 
            ProgramaEvento obj1 = new ProgramaEvento(); 
            string resultado = obj1.MiEvento("Tutoriales Point"); 
            Console.WriteLine(resultado); 
        } 
    } 
}

Cuando se compila y ejecuta el código anterior, produce el siguiente resultado:

Bienvenido Tutoriales Point

Lenguaje C

  1. Clases y objetos en C#: Fundamentos para POO robusta
  2. Entendiendo los modificadores de acceso en C#: Public, Private, Protected, Internal y más
  3. Palabra clave static en C#: Dominando variables, métodos y clases estáticas
  4. Dominando clases y métodos abstractos en C#: Guía práctica
  5. Entendiendo clases anidadas en C#: Definición, uso y herencia
  6. Entendiendo clases y métodos parciales en C#
  7. Dominando clases y métodos sealed en C#: Cuándo usarlos, ejemplos claros y mejora de seguridad y rendimiento
  8. Entendiendo el Polimorfismo en C++: Guía Práctica
  9. Dominando la Abstracción de Datos en C++: Simplifica el Diseño con Separación Interfaz-Implementación
  10. Encapsulamiento de Datos en C++: Protege tu Código
  11. Estructura de Programa C#: Componentes Principales y Ejemplo Hello World