Главная / Программирование /
Основы программирования на C# / Тест 21
Основы программирования на C# - тест 21
Упражнение 1:
Номер 1
Обработчик события
Ответ:
 (1) всегда принадлежит классу, вызывающему событие 
 (2) никогда не принадлежит классу, вызывающему событие 
 (3) может принадлежать классу, вызывающему событие 
 (4) принадлежит только одному классу, слушающему событие 
 (5) может принадлежать многим классам, слушающим события 
Номер 2
Объекты одного класса
Ответ:
 (1) имеют одинаковый набор событий 
 (2) в процессе вычислений зажигают одинаковый набор событий 
 (3) в процессе вычислений зажигают набор событий, характерный для объекта 
 (4) в разных сеансах работы зажигают одинаковый набор событий 
 (5) в разных сеансах работы зажигают разные события 
Номер 3
Процедура, в которой вызывается событие
Ответ:
 (1) передает обработчику событий входные аргументы и продолжает свою работу 
 (2) передает обработчику событий входные аргументы и ждет окончания работы первого обработчика, связанного с событием 
 (3) передает обработчику событий входные аргументы и ждет окончания работы всего списка обработчиков, связанного с событием 
 (4) может использовать в своей работе выходные аргументы события, значения которых сформированы обработчиками события 
Упражнение 2:
Номер 1
Отметьте истинные высказывания
Ответ:
 (1) все события имеют одинаковую сигнатуру из двух аргументов с одними и теми же типами 
 (2) все события имеют сигнатуру из двух аргументов, но с отличающимися типами 
 (3) все события, не имеющие собственных аргументов, передаваемых обработчику, соответствуют стандартному встроенному делегату EventHandler
 
 (4) для класса с большим числом событий целесообразно применять динамическое связывание 
 (5) для связывания событий с обработчиком можно применять только операцию += 
Номер 2
Отметьте истинные высказывания
Ответ:
 (1) объект, обрабатывающий событие, может отсоединить других обработчиков события и полностью определить реакцию на событие 
 (2) объект может определять, обрабатывать ли событие и какой из обработчиков присоединять к событию 
 (3) метод GetInvocationList
используется при обработке событий 
 (4) все события имеют одну и ту же сигнатуру 
Номер 3
Отметьте истинные высказывания
Ответ:
 (1) события – это специализированный вариант делегатов 
 (2) к каждому событию должен быть присоединен хотя бы один обработчик события 
 (3) методы Combine
и Remove
, наследованные от класса Delegate
не применимы к событиям 
 (4) допустимо динамическое связывание событий с обработчиками событий 
Упражнение 3:
Номер 1
Объявление события в классе может представлять собой:
Ответ:
 (1) объявление метода класса 
 (2) объявление поля класса 
 (3) объявление метода-свойства класса, включающего методы get
и set
 
 (4) объявление метода-свойства класса, включающего методы add
и remove
 
Номер 2
Класс EventHandler
Ответ:
 (1) является классом, которому принадлежат все события 
 (2) является абстрактным классом и не может иметь экземпляров 
 (3) является родительским классом для событий, не имеющих собственных аргументов 
 (4) является потомком класса Delegate
 
 (5) задает сигнатуру события 
Номер 3
Все аргументы события принадлежат
Ответ:
 (1) классу EventArgs
 
 (2) классу EventArgs
, за исключением аргумента, задающего объект, зажигающий событие 
 (3) потомку класса EventArgs
 
 (4) потомку класса EventArgs
за исключением аргумента, задающего объект, зажигающий событие 
 (5) возможно разным классам 
Упражнение 4:
Номер 1
Сообщение о событии получает:
Ответ:
 (1) только один объект одного класса, имеющего обработчик события, присоединенный к объекту, задающему событие 
 (2) несколько объектов одного класса, имеющего обработчик события, присоединенный к объекту, задающему событие 
 (3) все объекты одного класса, имеющего обработчик события, присоединенный к объекту, задающему событие 
 (4) все объекты всех классов, имеющих обработчики события, присоединенные к событию 
Номер 2
Зажечь событие – это значит:
Ответ:
 (1) послать сообщение о событии всем объектам – получателям сообщения 
 (2) вызвать специальную процедуру, обрабатывающую событие 
 (3) закончить работу, передав управление операционной системе 
Номер 3
Для событий, допустимых в каркасе Framework .Net, к делегатам предъявляются следующие ограничения
Ответ:
 (1) сигнатура делегата фиксируется 
 (2) число возможных событий ограничено 
 (3) события могут обрабатываться объектами только одного класса 
Упражнение 5:
Номер 1
Правда ли, что:
Ответ:
 (1) делегат, задающий тип события, может иметь произвольную сигнатуру 
 (2) класс, обрабатывающий события, может отсоединить обработчики событий других классов, чтобы они не мешали его работе 
 (3) обработчику события передаются входные аргументы, характеризующие событие, а он может передать объекту, создавшему событие, выходные аргументы 
Номер 2
Правда ли, что:
Ответ:
 (1) класс-отправитель сообщения обязан знать всех своих получателей 
 (2) сообщение о событии следует посылать только тогда, когда гарантируется, что есть хотя бы один получатель сообщения 
 (3) класс получатель должен иметь обработчик события – процедуру, согласованную по сигнатуре с функциональным типом делегата, задающего событие 
Номер 3
Правда ли, что:
Ответ:
 (1) если обработчику события не передаются дополнительные аргументы, то можно пользоваться стандартным делегатом с именем EventHandler
 
 (2) при зажигании события выполнение метода прерывается, пока не закончат работу все обработчики события 
 (3) стандартные интерфейсные объекты обладают набором предопределенных событий 
 (4) объекты классов, создаваемых программистом, наследуют предопределенные события класса object