Довідники C# event

Що таке event в C#?

Події дозволяють об'єктам надсилати повідомлення про події, а іншим об'єктам підписуватися на ці події та реагувати на них.


Основні моменти:

  1. Видавець та передплатник: Об'єкт, що генерує подію, називається видавцем (publisher), а об'єкт, що обробляє подію, називається передплатником (subscriber).
  2. Створення події: Подія оголошується з використанням ключового слова event у видавничому класі. Подія може бути асоційована з делегатом, який визначає сигнатуру методу, що викликається у разі події.
  3. Підписка на подію: Передплатник реєструє свій метод для обробки події за допомогою оператора += . Метод передплатника буде викликаний, коли подія відбудеться.
  4. Генерація події: Видавець викликає подію, повідомляючи всіх передплатників про її виникнення.
// Клас, що містить подію
public class EventPublisher
{
     // Подія з делегатом Action
     public event Action MyEvent;

     //Метод для генерації події
     public void RaiseEvent()
     {
         Console.WriteLine("Event occurred!");
         // Виклик події
         MyEvent?.Invoke();
     }
}

// Клас, що містить метод обробки події
public class EventSubscriber
{
     // Метод, який буде викликаний у разі події
     public void HandleEvent()
     {
         Console.WriteLine("Event handled by EventSubscriber");
     }
}

class Program
{
     static void Main()
     {
         // Створення об'єктів видавця та передплатника
         EventPublisher publisher = new EventPublisher();
         EventSubscriber subscriber = new EventSubscriber();

         // Підписка на подію
         publisher.MyEvent += subscriber.HandleEvent;

         // Генерація події
         publisher.RaiseEvent();
     }
}
Коментарі
Додати коментар

Поки що коментарів немає