0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: управление, c#, удаление, добавление, обработчики событий, аксессоры</p>
1
<p>Теги: управление, c#, удаление, добавление, обработчики событий, аксессоры</p>
2
<p>В языке программирования C# есть возможность управлять<strong>обработчиками событий</strong>. Для этого используются специальные<strong>акссесоры add/remove</strong>. С их помощью вы сможете управлять как добавлением, так и удалением обработчиков. На практике данная функциональность требуется нечасто, но иногда она может пригодиться. Рассмотрим пример:</p>
2
<p>В языке программирования C# есть возможность управлять<strong>обработчиками событий</strong>. Для этого используются специальные<strong>акссесоры add/remove</strong>. С их помощью вы сможете управлять как добавлением, так и удалением обработчиков. На практике данная функциональность требуется нечасто, но иногда она может пригодиться. Рассмотрим пример:</p>
3
<p>Далее происходит разбивка процесса определения события на 2 части. Сначала мы просто определяем переменную, через которую можно вызывать связанные обработчики:</p>
3
<p>Далее происходит разбивка процесса определения события на 2 части. Сначала мы просто определяем переменную, через которую можно вызывать связанные обработчики:</p>
4
<p>Во 2-й части процесса следует определить акссесоры<strong>add/remove</strong>. Вызов аксессора add происходит при добавлении обработчика, а если точнее -- при выполнении операции +=. В данном случае добавляемый обработчик является доступным через ключевое слово<strong>value</strong>, при этом у нас есть возможность получить информацию об обработчике (к примеру, имя метода посредством<strong>value.Method.Name</strong>), а также определить некоторую логику. В нашем примере в целях простоты сообщение выводится на консоль:</p>
4
<p>Во 2-й части процесса следует определить акссесоры<strong>add/remove</strong>. Вызов аксессора add происходит при добавлении обработчика, а если точнее -- при выполнении операции +=. В данном случае добавляемый обработчик является доступным через ключевое слово<strong>value</strong>, при этом у нас есть возможность получить информацию об обработчике (к примеру, имя метода посредством<strong>value.Method.Name</strong>), а также определить некоторую логику. В нашем примере в целях простоты сообщение выводится на консоль:</p>
5
<p>Теперь поговорим про блок<strong>remove</strong>-- его вызов происходит, если надо удалить обработчик. Как и в предыдущем случае, у нас есть возможность задать какую-нибудь дополнительную логику.</p>
5
<p>Теперь поговорим про блок<strong>remove</strong>-- его вызов происходит, если надо удалить обработчик. Как и в предыдущем случае, у нас есть возможность задать какую-нибудь дополнительную логику.</p>
6
<p>Внутри класса вызов события также осуществляется с помощью переменной<strong>_notify</strong>. Для добавления/удаления обработчиков в программе применяется как раз<strong>Notify</strong>:</p>
6
<p>Внутри класса вызов события также осуществляется с помощью переменной<strong>_notify</strong>. Для добавления/удаления обработчиков в программе применяется как раз<strong>Notify</strong>:</p>
7
<p>Осталось посмотреть на консольный вывод программы:</p>
7
<p>Осталось посмотреть на консольный вывод программы:</p>
8
<p><em>По материалам https://metanit.com/sharp/tutorial/.</em></p>
8
<p><em>По материалам https://metanit.com/sharp/tutorial/.</em></p>
9
9