События (events) в C#
В этом уроке вы объявите событие, подпишете на него обработчик и вызовете событие при изменении.
Введение
Событие (event) позволяет объекту оповещать другие объекты, когда что-то происходит, по модели издатель и подписчик (publisher/subscriber). Это привычный механизм в программировании интерфейсов, например когда пользователь нажимает кнопку.
Класс Counter объявляет событие ThresholdReached. В Main оператор += подписывает лямбду на обработку события. При вызове ReachThreshold() оператор ?. вызывает событие, только если есть хотя бы один подписчик. Снаружи можно лишь подписаться или отписаться: вызвать событие может только класс Counter.
Пример на C#, который можно запустить
using System;
class Counter
{
public event EventHandler? ThresholdReached;
public void ReachThreshold() => ThresholdReached?.Invoke(this, EventArgs.Empty);
}
class Program
{
static void Main()
{
var counter = new Counter();
counter.ThresholdReached += (_, _) => Console.WriteLine("Threshold reached");
counter.ReachThreshold();
}
}
Threshold reachedПрактика с отладчиком
Попрактикуйтесь на задаче
Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.
Все задачи