Определение и вызов событий в C#
В языке программирования C# события объявляют в классе, используя для этого ключевое слово event. После этого слова указывают тип делегата, который и представляет событие. Давайте посмотрим, как это выглядит на практике:
В нашем случае мы сначала определяем делегат AccountHandler, принимающий один параметр типа string. Далее посредством вышеупомянутого ключевого слова event происходит определение события с именем Notify, которое, в свою очередь, представляет делегат AccountHandler. При этом само по себе название для события может быть и произвольным, но оно в любом случае должно представлять некоторый делегат.
После определения события появляется возможность его вызвать в нашей программе в качестве метода. Для этого используется имя события:
Итак, событие Notify представляет делегат AccountHandler, принимающий один параметр типа string. Раз речь идет о строке, то, соответственно, при вызове события нам необходимо передать в него строку. Однако тут стоит учитывать, что при вызове событий можно столкнуться с ситуацией, когда событие равняется null в том случае, если для него не определен обработчик. Следовательно, в процессе вызова события является целесообразным всегда проверять его на null. К примеру так:
Либо так:
Раз событие представляет делегат, есть возможность вызвать его посредством метода
Теперь давайте создадим и вызовем событие:
В результате посредством события Notify мы выполняем уведомление системы о том, что были добавлены средства, а также о том, что средства были сняты со счета либо на счете средств недостаточно.
Также вам может быть интересна следующая статья: - "Управление обработчиками событий".
По материалам https://metanit.com/.