Пояснить суть и назначение событий, желательно на примере - 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("Цикл завершен!"); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д