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

Объявление делегата

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. Содержание отчета по лабораторной работе

Отчет по лабораторной работе должен содержать:

  • Титульный лист.

  • Задание на каждый раздел лабораторной работы.

  • Листинги программных приложений

  • Описание работы программ и блок-схемы их функционирования.

  • Внешний вид созданных приложений.