HTML Diff
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