Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

C# - Eventos


Eventos são ações do usuário, como pressionamento de teclas, cliques, movimentos do mouse, etc., ou alguma ocorrência, como notificações geradas pelo sistema. Os aplicativos precisam responder aos eventos quando eles ocorrem. Por exemplo, interrupções. Os eventos são usados ​​para comunicação entre processos.

Usando delegados com eventos


Os eventos são declarados e gerados em uma classe e associados aos manipuladores de eventos usando delegados na mesma classe ou em alguma outra classe. A classe que contém o evento é usada para publicar o evento. Isso é chamado de editor classe. Alguma outra classe que aceita este evento é chamada de assinante classe. Os eventos usam o editor-assinante modelo.

Um editor é um objeto que contém a definição do evento e o delegado. A associação de delegado de evento também é definida neste objeto. Um objeto de classe do publicador invoca o evento e é notificado a outros objetos.

Um assinante é um objeto que aceita o evento e fornece um manipulador de eventos. O delegado na classe do publicador invoca o método (manipulador de eventos) da classe do assinante.

Declaração de eventos


Para declarar um evento dentro de uma classe, em primeiro lugar, você deve declarar um tipo de delegado para o mesmo como:
public delegate string BoilerLogHandler(string str);

em seguida, declare o evento usando o evento palavra-chave −
event BoilerLogHandler BoilerEventLog;

O código anterior define um delegado chamado BoilerLogHandler e um evento chamado BoilerEventLog , que invoca o delegado quando ele é gerado.

Exemplo

Demonstração ao vivo
using System;

namespace SampleApp {
   public delegate string MyDel(string str);
	
   class EventProgram {
      event MyDel MyEvent;
		
      public EventProgram() {
         this.MyEvent += new MyDel(this.WelcomeUser);
      }
      public string WelcomeUser(string username) {
         return "Welcome " + username;
      }
      static void Main(string[] args) {
         EventProgram obj1 = new EventProgram();
         string result = obj1.MyEvent("Tutorials Point");
         Console.WriteLine(result);
      }
   }
}

Quando o código acima é compilado e executado, ele produz o seguinte resultado -
Welcome Tutorials Point

Linguagem C

  1. Classe e objeto C#
  2. Modificadores de acesso C#
  3. Palavra-chave estática C#
  4. Classe abstrata e método C#
  5. Classe aninhada C#
  6. C# Classe Parcial e Método Parcial
  7. Classe e método selados em C#
  8. Polimorfismo em C++
  9. Abstração de dados em C++
  10. Encapsulamento de dados em C++