Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лр2_События_б.doc
Скачиваний:
10
Добавлен:
16.08.2019
Размер:
152.58 Кб
Скачать

4. Вопросы для самопроверки Отметьте истинные высказывания:

  • класс, обрабатывающий событие, может отсоединить других обработчиков события и полностью определить реакцию на событие;

  • каждый объект определяет, какой обработчик присоединяется к событию;

  • метод GetInvocationList не применим к событиям;

  • все события имеют одну и ту же сигнатуру.

  • события – это специализированный вариант делегатов;

  • к каждому событию должен быть присоединен хотя бы один обработчик события;

  • методы Combine и Remove, наследованные от класса Delegate не применимы к событиям;

  • допустимо динамическое связывание событий с обработчиками событий.

1. Обработчик события:

  • всегда принадлежит классу, генерирующему событие;

  • никогда не принадлежит классу, генерирующему событие;

  • может принадлежать классу, генерирующему событие;

  • принадлежит только одному классу, слушающему событие;

  • может принадлежать многим классам, слушающим события.

2. События:

  • все события имеют одинаковую сигнатуру из двух аргументов с одними и теми же типами;

  • все события имеют сигнатуру из двух аргументов, но с отличающимися типами;

  • все события, не имеющие собственных аргументов, передаваемых обработчику, соответствуют стандартному встроенному делегату EventHandler;

  • для класса с большим числом событий целесообразно применять динамическое связывание;

  • для связывания событий с обработчиком можно применять только операцию +=.

3. Объявление события в классе может представлять собой:

  • объявление метода класса;

  • объявление поля класса;

  • объявление процедуры-свойства класса с методами get и set;

  • объявление процедуры-свойства класса с методами add и remove.

4. Объекты одного класса:

  • имеют одинаковый набор событий;

  • в процессе вычислений возникает одинаковый набор событий;

  • в процессе вычислений возникает набор событий, характерный для объекта;

  • в разных сеансах работы возникает одинаковый набор событий;

  • в разных сеансах работы возникают разные события.

5. Объект одного класса:

  • является классом, которому принадлежат все события;

  • является абстрактным классом и не может иметь экземпляров;

  • является родительским классом для событий, не имеющих собственных аргументов;

  • является потомком класса Delegate;

  • накладывает ограничения на сигнатуру события.

6. Процедура, в которой зажигается событие:

  • передает обработчику событий входные аргументы и продолжает свою работу;

  • передает обработчику событий входные аргументы и ждет окончания работы первого обработчика, связанного с событием;

  • передает обработчику событий входные аргументы и ждет окончания работы всего списка обработчиков, связанного с событием;

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

7. Все аргументы события принадлежат:

  • классу EventArgs;

  • классу EventArgs, за исключением аргумента, задающего объект, зажигающий событие;

  • потомку класса EventArgs;

  • потомку класса EventArgs за исключением аргумента, задающего объект, зажигающий событие;

  • возможно разным классам.