Управление обработчиками событий | OTUS >
У этой рекламы есть минус
У этой рекламы есть минус
−10% на курсы со стартом в ноябре. Успейте получить выгоду, 10 числа акция закончится
−10% на курсы со стартом в ноябре. Успейте получить выгоду, 10 числа акция закончится
Выбрать курс

Управление обработчиками событий

В языке программирования C# есть возможность управлять обработчиками событий. Для этого используются специальные акссесоры add/remove. С их помощью вы сможете управлять как добавлением, так и удалением обработчиков. На практике данная функциональность требуется нечасто, но иногда она может пригодиться. Рассмотрим пример:

1-1801-016210.png

Далее происходит разбивка процесса определения события на 2 части. Сначала мы просто определяем переменную, через которую можно вызывать связанные обработчики:

2-1801-dd2cad.png

Во 2-й части процесса следует определить акссесоры add/remove. Вызов аксессора add происходит при добавлении обработчика, а если точнее -- при выполнении операции +=. В данном случае добавляемый обработчик является доступным через ключевое слово value, при этом у нас есть возможность получить информацию об обработчике (к примеру, имя метода посредством value.Method.Name), а также определить некоторую логику. В нашем примере в целях простоты сообщение выводится на консоль:

3-1801-b4ea06.png

Теперь поговорим про блок remove -- его вызов происходит, если надо удалить обработчик. Как и в предыдущем случае, у нас есть возможность задать какую-нибудь дополнительную логику.

4-1801-bafb42.png

Внутри класса вызов события также осуществляется с помощью переменной _notify. Для добавления/удаления обработчиков в программе применяется как раз Notify:

5-1801-97093a.png

Осталось посмотреть на консольный вывод программы:

6-1801-a0ad42.png

По материалам https://metanit.com/sharp/tutorial/.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто
Снизили цены на 10 дней
Снизили цены на 10 дней
−10% на все курсы со стартом в ноябре, акция действует до 10 числа. Выбирайте направление — начинайте обучение
−10% на все курсы со стартом в ноябре, акция действует до 10 числа. Выбирайте направление — начинайте обучение