Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

С# — События

События действия пользователя, такие как нажатие клавиш, клики, движения мыши и т. д., или некоторые события, такие как уведомления, созданные системой. Приложения должны реагировать на события, когда они происходят. Например, прерывания. События используются для межпроцессного взаимодействия.

Использование делегатов с событиями

События объявляются и вызываются в классе и связываются с обработчиками событий с использованием делегатов в том же или другом классе. Класс, содержащий событие, используется для публикации события. Это называется издатель учебный класс. Некоторый другой класс, принимающий это событие, называется подписчиком . учебный класс. События используют издатель-подписчик модель.

издатель — это объект, содержащий определение события и делегата. В этом объекте также определена ассоциация делегата события. Объект класса издателя вызывает событие и уведомляет об этом другие объекты.

подписчик это объект, который принимает событие и предоставляет обработчик события. Делегат в классе издателя вызывает метод (обработчик событий) класса подписчика.

Объявление событий

Чтобы объявить событие внутри класса, прежде всего, вы должны объявить тип делегата для даже как:

public delegate string BoilerLogHandler(string str);

затем объявите событие с помощью event ключевое слово –

event BoilerLogHandler BoilerEventLog;

Предыдущий код определяет делегата с именем BoilerLogHandler. и событие под названием BoilerEventLog , который вызывает делегат при его вызове.

Пример

Живая демонстрация
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);
      }
   }
}

Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —

Welcome Tutorials Point

Язык C

  1. Класс и объект С#
  2. Модификаторы доступа C#
  3. C# статическое ключевое слово
  4. Абстрактный класс и метод С#
  5. Вложенный класс С#
  6. Частичный класс C# и частичный метод
  7. Запечатанный класс и метод С#
  8. Полиморфизм в С++
  9. Абстракция данных в C++
  10. Инкапсуляция данных в C++