В события Цели разработки для поддержки мероприятий



Дата11.01.2022
өлшемі19,43 Kb.
#111127
Байланысты:
лабка


Страница 1

Введение в события

Цели разработки для поддержки мероприятий

Языковая поддержка мероприятий

публичное событие EventHandler Progress;

Предыдущий

События, как и делегаты, являются механизмом позднего связывания . По сути, события построены на языковой поддержке

делегаты.

События - это способ для объекта транслировать (всем заинтересованным компонентам системы), что что-то имеет

получилось. Любой другой компонент может подписаться на событие и получать уведомления при возникновении события.

Вы, вероятно, использовали события в некоторых своих программах. Многие графические системы имеют модель событий для

сообщить о взаимодействии с пользователем. Эти события будут сообщать о движении мыши, нажатиях кнопок и подобных взаимодействиях.

Это один из наиболее распространенных, но, конечно, не единственный сценарий, в котором используются события.

Вы можете определить события, которые должны возникать для ваших классов. Одно важное соображение при работе с

events заключается в том, что для определенного события может не быть зарегистрирован какой-либо объект. Вы должны написать свой код так, чтобы он

не вызывает событий, если не настроены слушатели.

Подписка на событие также создает связь между двумя объектами (источником события и приемником событий). Ты

необходимо убедиться, что приемник событий отписывается от источника событий, когда они больше не интересуются событиями.

Языковой дизайн мероприятий нацелен на эти цели.

Во-первых, включите минимальную связь между источником и приемником событий. Эти два компонента не могут

быть написаны одной и той же организацией и даже могут обновляться по совершенно разным графикам.

Во-вторых, должно быть очень просто подписаться на событие и отказаться от подписки на это же событие.

И, наконец, источники событий должны поддерживать несколько подписчиков на события. Он также должен поддерживать отсутствие событий

подписчики прикреплены.

Вы можете видеть, что цели мероприятий очень похожи на цели делегатов. Вот почему язык событий

поддержка построена на поддержке делегированного языка.

Синтаксис для определения событий, а также для подписки или отказа от подписки на события является расширением синтаксиса для

делегаты.

Чтобы определить событие, вы используете ключевое слово event :

Тип события ( EventHandler  в этом примере) должен быть типом делегата. Есть ряд

соглашений, которым вы должны следовать при объявлении события. Обычно тип делегата события имеет пустое значение.

возвращаться. Объявление событий должно быть глаголом или глагольной фразой. Используйте прошедшее время (как в этом примере), когда событие

сообщает о том, что произошло. Используйте глагол в настоящем времени (например, закрытие ), чтобы сообщить о чем-то, что

вот-вот произойдет. Часто использование настоящего времени указывает на то, что ваш класс поддерживает какую-то настройку.

поведение. Один из наиболее распространенных сценариев - поддержка отмены. Например, событие закрытия может



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

Достарыңызбен бөлісу:




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет