Управление обработчиками событий
В языке программирования C# есть возможность управлять обработчиками событий. Для этого используются специальные акссесоры add/remove. С их помощью вы сможете управлять как добавлением, так и удалением обработчиков. На практике данная функциональность требуется нечасто, но иногда она может пригодиться. Рассмотрим пример:
Далее происходит разбивка процесса определения события на 2 части. Сначала мы просто определяем переменную, через которую можно вызывать связанные обработчики:
Во 2-й части процесса следует определить акссесоры add/remove. Вызов аксессора add происходит при добавлении обработчика, а если точнее -- при выполнении операции
Теперь поговорим про блок remove -- его вызов происходит, если надо удалить обработчик. Как и в предыдущем случае, у нас есть возможность задать какую-нибудь дополнительную логику.
Внутри класса вызов события также осуществляется с помощью переменной _notify. Для добавления/удаления обработчиков в программе применяется как раз Notify:
Осталось посмотреть на консольный вывод программы:
По материалам https://metanit.com/sharp/tutorial/.