- •Тверской государственный технический университет
- •События.
- •Содержание
- •1.2. Объявление события
- •1.3. Использование события
- •1.4. Многоцелевая обработка события.
- •1.5. Использования событий в компонентах .Net
- •1.6. Классы с большим числом событий
- •1.7. Что объединяет события, делегаты и свойства
- •Объявление свойства
- •Объявление делегата
- •Объявление события
- •2. Задание на лабораторную работу
- •3. Содержание отчета по лабораторной работе
- •4. Вопросы для самопроверки Отметьте истинные высказывания:
- •1. Обработчик события:
- •2. События:
- •7. Все аргументы события принадлежат:
- •Контрольные вопросы
- •Литература:
Объявление делегата
delegate string MyDelegate(int x); // объявление функционального типа делегата
public string MyMethod(int arg) { …; }// функция - переменная функционального типа
// Объявление делегата – представителя переменной функционального типа
public MyDelegate md;
(MyDelegate)Delegate.Combine(md, MyMethod);// Методы доступа к методу
(MyDelegate)Delegate.Remove(md, MyMethod); // как к переменной функционального типа
Объявление события
delegate string MyDelegate(int x); // объявление функционального типа делегата
public string MyMethod(int arg) { …; }// функция - переменная функционального типа
public event MyDelegate SomeEvent;// Объявление события типа делегата
SomeEvent += new MyDelegate(MyMethod); // Методы доступа к методам
SomeEvent = new MyDelegate(MyMethod); // содержащимся в делегате события
Исходя из всего сказанного, можно сделать заключение о том, что и делегат и событие являются специфической формой или разновидностью свойства. Делегат можно рассматривать как свойство, которое является полномочным представителем (заместителем) не переменной, а ссылкой на метод. В свою очередь событие также можно рассматривать как свойство, которое является не полномочным представителем переменной или переменной функционального типа (метода), а делегата, связанного с группой (набором) методов-обработчиков.
2. Задание на лабораторную работу
1. Ознакомиться с разделом 1, в котором описывается понятие свойства, его разновидности и особенности его объявления и использования.
Простые события
1.1. Построить и запустить приложение в соответствии описанием в разделе 1.2. Убедиться в его работоспособности и составить блок-схему алгоритма его функционирования. Опишите программную реализацию процесса генерации события
1.2. Создать приложение, реализующее пример, приведенный в разделе 1.3 и составить блок-схему его функционирования. Особе внимание уделите особенностям добавления и удаления обработчиков события. Опишите процесс подписки реагировать на возникновение события.
Многоцелеваяобработка событий
1.3. На основе примера в разделе 1.4 разработать приложение, в котором обработка события осуществляется несколькими функциями-обработчиками. Составить блок-схему работы приложения и описать происходящие в нем процессы.
Использование событий в компонентах .NET
1.4. Создать приложение, которое реагирует на нажатие на клавишу. Составить блок-схему работы приложения (раздел 1.5). Описать особенности организации обработки события, возникающего при нажатии на стандартную компоненту в виде клавиши.
Классы с большим числом событий
1.5. Создать приложение с объектом, способным генерировать большое количество событий (раздел 1.6). Особое внимание обратить на динамическую организацию хранения событий. Составить блок-схему работы приложения и описать ее.
3. Содержание отчета по лабораторной работе
Отчет по лабораторной работе должен содержать:
Титульный лист.
Задание на каждый раздел лабораторной работы.
Листинги программных приложений
Описание работы программ и блок-схемы их функционирования.
Внешний вид созданных приложений.