Пояснить суть и назначение событий, желательно на примере - C#
Формулировка задачи:
Всем привет. Попробовал почитать про события и вообще не понятно с чем их есть и как их применять.
Может быть кто то напишет на маленьком примере как работать с событиями. Например счетчик, который при значении переменной 100 вызовет метод в котором выведет на экран Console.WriteLine(" Куку! уже 100!");
На сколько я понимаю интуитивно должно быть несколько блоков - блок счетчика,блок подписки на изменения значения которого пишутся в некую переменную и блок отработки события.
И не очень понятна структура. Если в обычной программе у нас методы в классе и мы вызываем класс и метод, то события это какой то отдельный класс, который надо вызывать?
Решение задачи: «Пояснить суть и назначение событий, желательно на примере»
textual
Листинг программы
- class Program
- {
- static void Main(string[] args)
- {
- ClassWithEvent obj = new ClassWithEvent();
- obj.LoopEvent += Handler; //подписка на событие
- obj.Loop();
- Console.Read();
- }
- /// <summary>
- /// Метод для обработки события.
- /// (!) Сигнатура метода Handler соответствует делегату SimpleDelegate, базовому для события LoopEvent
- /// </summary>
- /// <param name="message">Параметр переданный событием в обработчик</param>
- static void Handler(string message)
- {
- Console.WriteLine(message);
- }
- }
- public class ClassWithEvent
- {
- public delegate void SimpleDelegate(string message);
- public event SimpleDelegate LoopEvent;
- public void Loop()
- {
- for (int i = 0; i < 100; Console.WriteLine(i++));
- if (LoopEvent != null)
- LoopEvent("Цикл завершен!");
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д