Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
full sharp / 17События.pptx
Скачиваний:
10
Добавлен:
08.03.2015
Размер:
1.23 Mб
Скачать

СОБЫТИЯ

ЧЛЕН, ИСПОЛЬЗУЕМЫЙ КЛАССОМ ИЛИ ОБЪЕКТОМ ДЛЯ УВЕДОМЛЕНИЯ.

СОБЫТИЯ ПОЗВОЛЯЮТ КЛАССУ ИЛИ ОБЪЕКТУ УВЕДОМЛЯТЬ ДРУГИЕ КЛАССЫ ИЛИ ОБЪЕКТЫ О ВОЗНИКНОВЕНИИ КАКИХ-ЛИБО СИТУАЦИЙ.

КЛАСС, ОТПРАВЛЯЮЩИЙ (ИЛИ ВЫЗЫВАЮЩИЙ) СОБЫТИЕ, НАЗЫВАЕТСЯ ИЗДАТЕЛЕМ, А КЛАССЫ, ПРИНИМАЮЩИЕ (ИЛИ ОБРАБАТЫВАЮЩИЕ) СОБЫТИЕ, НАЗЫВАЮТСЯ ПОДПИСЧИКАМИ.

ИЗДАТЕЛЬ ОПРЕДЕЛЯЕТ МОМЕНТ ВЫЗОВА СОБЫТИЯ, ПОДПИСЧИКИ ОПРЕДЕЛЯЮТ ПРЕДПРИНЯТОЕ ОТВЕТНОЕ ДЕЙСТВИЕ.

У СОБЫТИЯ МОЖЕТ БЫТЬ НЕСКОЛЬКО ПОДПИСЧИКОВ. ПОДПИСЧИК МОЖЕТ ОБРАБАТЫВАТЬ НЕСКОЛЬКО СОБЫТИЙ ОТ НЕСКОЛЬКИХ ИЗДАТЕЛЕЙ.

СОБЫТИЯ, НЕ ИМЕЮЩИЕ ПОДПИСЧИКОВ, НИКОГДА НЕ ВОЗНИКАЮТ.

ОБЫЧНО СОБЫТИЯ ИСПОЛЬЗУЮТСЯ ДЛЯ ОПОВЕЩЕНИЯ О ДЕЙСТВИЯХ ПОЛЬЗОВАТЕЛЯ, ТАКИХ КАК НАЖАТИЯ КНОПОК ИЛИ ВЫБОР МЕНЮ И ИХ ПУНКТОВ В ГРАФИЧЕСКОМ ПОЛЬЗОВАТЕЛЬСКОМ ИНТЕРФЕЙСЕ.

ЕСЛИ СОБЫТИЕ ИМЕЕТ НЕСКОЛЬКО ПОДПИСЧИКОВ, ТО ПРИ ЕГО ВОЗНИКНОВЕНИИ ПРОИСХОДИТ СИНХРОННЫЙ ВЫЗОВ ОБРАБОТЧИКОВ СОБЫТИЙ. СВЕДЕНИЯ ОБ АСИНХРОННОМ ВЫЗОВЕ СОБЫТИЙ СМ. В РАЗДЕЛЕ АСИНХРОННЫЙ ВЫЗОВ СИНХРОННЫХ МЕТОДОВ.

В БИБЛИОТЕКЕ КЛАССОВ .NET FRAMEWORK В ОСНОВЕ СОБЫТИЙ ЛЕЖИТ ДЕЛЕГАТ EVENTHANDLER И БАЗОВЫЙ КЛАСС EVENTARGS.

РЕАКЦИЯ КЛИЕНТА НА СОБЫТИЕ РЕАЛИЗУЕТСЯ С ПОМОЩЬЮ ОБРАБОТЧИКОВ СОБЫТИЙ. ДЛЯ ВЛОЖЕНИЯ ОБРАБОТЧИКОВ СОБЫТИЙ ИСПОЛЬЗУЕТСЯ ОПЕРАТОР «+=», ДЛЯ УДАЛЕНИЯ — ОПЕРАТОР «-=».

USING SYSTEM;

CLASS TEST

{

STATIC INT CHANGECOUNT;

STATIC VOID ONLISTCHANGED(OBJECT SENDER, EVENTARGS E) {

 

CHANGECOUNT++;

 

}

STATIC VOID MAIN() {

 

LIST<STRING> NAMES = NEW LIST<STRING>();

 

NAMES.CHANGED += NEW EVENTHANDLER(ONLISTCHANGED);

 

NAMES.ADD("АННА");

 

NAMES.ADD("ЕКАТЕРИНА");

 

NAMES.ADD("СВЕТЛАНА");

 

CONSOLE.WRITELINE(CHANGECOUNT); // РЕЗУЛЬТАТ: "3"

 

}

 

}