
- •Тверской государственный технический университет
- •События.
- •Содержание
- •1.2. Объявление события
- •1.3. Использование события
- •1.4. Многоцелевая обработка события.
- •1.5. Использования событий в компонентах .Net
- •1.6. Классы с большим числом событий
- •1.7. Что объединяет события, делегаты и свойства
- •Объявление свойства
- •Объявление делегата
- •Объявление события
- •2. Задание на лабораторную работу
- •3. Содержание отчета по лабораторной работе
- •4. Вопросы для самопроверки Отметьте истинные высказывания:
- •1. Обработчик события:
- •2. События:
- •7. Все аргументы события принадлежат:
- •Контрольные вопросы
- •Литература:
4. Вопросы для самопроверки Отметьте истинные высказывания:
класс, обрабатывающий событие, может отсоединить других обработчиков события и полностью определить реакцию на событие;
каждый объект определяет, какой обработчик присоединяется к событию;
метод GetInvocationList не применим к событиям;
все события имеют одну и ту же сигнатуру.
события – это специализированный вариант делегатов;
к каждому событию должен быть присоединен хотя бы один обработчик события;
методы Combine и Remove, наследованные от класса Delegate не применимы к событиям;
допустимо динамическое связывание событий с обработчиками событий.
1. Обработчик события:
всегда принадлежит классу, генерирующему событие;
никогда не принадлежит классу, генерирующему событие;
может принадлежать классу, генерирующему событие;
принадлежит только одному классу, слушающему событие;
может принадлежать многим классам, слушающим события.
2. События:
все события имеют одинаковую сигнатуру из двух аргументов с одними и теми же типами;
все события имеют сигнатуру из двух аргументов, но с отличающимися типами;
все события, не имеющие собственных аргументов, передаваемых обработчику, соответствуют стандартному встроенному делегату EventHandler;
для класса с большим числом событий целесообразно применять динамическое связывание;
для связывания событий с обработчиком можно применять только операцию +=.
3. Объявление события в классе может представлять собой:
объявление метода класса;
объявление поля класса;
объявление процедуры-свойства класса с методами get и set;
объявление процедуры-свойства класса с методами add и remove.
4. Объекты одного класса:
имеют одинаковый набор событий;
в процессе вычислений возникает одинаковый набор событий;
в процессе вычислений возникает набор событий, характерный для объекта;
в разных сеансах работы возникает одинаковый набор событий;
в разных сеансах работы возникают разные события.
5. Объект одного класса:
является классом, которому принадлежат все события;
является абстрактным классом и не может иметь экземпляров;
является родительским классом для событий, не имеющих собственных аргументов;
является потомком класса Delegate;
накладывает ограничения на сигнатуру события.
6. Процедура, в которой зажигается событие:
передает обработчику событий входные аргументы и продолжает свою работу;
передает обработчику событий входные аргументы и ждет окончания работы первого обработчика, связанного с событием;
передает обработчику событий входные аргументы и ждет окончания работы всего списка обработчиков, связанного с событием;
может получить от обработчиков выходные аргументы и использовать их в своей работе.
7. Все аргументы события принадлежат:
классу EventArgs;
классу EventArgs, за исключением аргумента, задающего объект, зажигающий событие;
потомку класса EventArgs;
потомку класса EventArgs за исключением аргумента, задающего объект, зажигающий событие;
возможно разным классам.