Оповещение подписчиков в C#
Оповещение подписчиков - вызов делегата внутри класса, который владеет событием. Обычно его делают в конце метода, когда работа завершена.
Перед вызовом проверяют, что список подписчиков не пуст. Условный вызов через точку с вопросительным знаком не обращается к пустой ссылке.
Запишем класс, который после работы сообщает о завершении - даже если подписчиков пока нет:
Worker worker = new Worker();
worker.Execute();
class Worker {
public event Action? Finished;
public void Execute() {
Console.WriteLine("work");
Finished?.Invoke();
}
}
Сделайте класс TimerTick с полем оповещения
Tick и методом Step, который выводит
"step" и затем выполняет оповещение подписчиков.
Вызовите Step без подписчиков - программа
должна завершить метод без ошибки.