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

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


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

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

5   голосов , оценка 4.6 из 5
Похожие ответы