Пояснить суть и назначение событий, желательно на примере - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет. Попробовал почитать про события и вообще не понятно с чем их есть и как их применять. Может быть кто то напишет на маленьком примере как работать с событиями. Например счетчик, который при значении переменной 100 вызовет метод в котором выведет на экран Console.WriteLine(" Куку! уже 100!"); На сколько я понимаю интуитивно должно быть несколько блоков - блок счетчика,блок подписки на изменения значения которого пишутся в некую переменную и блок отработки события. И не очень понятна структура. Если в обычной программе у нас методы в классе и мы вызываем класс и метод, то события это какой то отдельный класс, который надо вызывать?

Решение задачи: «Пояснить суть и назначение событий, желательно на примере»

textual
Листинг программы
  1. class Program
  2. {
  3.     static void Main(string[] args)
  4.     {
  5.         ClassWithEvent obj = new ClassWithEvent();
  6.         obj.LoopEvent += Handler; //подписка на событие
  7.         obj.Loop();
  8.         Console.Read();
  9.     }
  10.  
  11.     /// <summary>
  12.     /// Метод для обработки события.
  13.     /// (!) Сигнатура метода Handler соответствует делегату SimpleDelegate, базовому для события LoopEvent
  14.     /// </summary>
  15.     /// <param name="message">Параметр переданный событием в обработчик</param>
  16.     static void Handler(string message)
  17.     {
  18.         Console.WriteLine(message);
  19.     }
  20.  
  21. }
  22.  
  23. public class ClassWithEvent
  24. {
  25.     public delegate void SimpleDelegate(string message);
  26.     public event SimpleDelegate LoopEvent;
  27.  
  28.     public void Loop()
  29.     {
  30.         for (int i = 0; i < 100; Console.WriteLine(i++));
  31.         if (LoopEvent != null)
  32.             LoopEvent("Цикл завершен!");
  33.     }
  34. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы