Прием поступающих событий
Прием поступающих событий
Использование событий в C# позволяет также упростить регистрацию обработчиков событий вызывающей стороны. Вместо необходимости указывать пользовательские вспомогательные методы, вызывающая сторона просто использует операции += и -= (которые в фоновом режиме "подключают" add_XXX() или remove_XXX()). Если вы хотите регистрировать событие, то следуйте показанному ниже шаблону.
// ОбъектнаяПеременная.ИмяСобытия +=
// new СоответствующийДелегат(вызываемаяФункция);
Car.EngineHandler d = new Car.EngineHandler(CarExplodedEventHandler) myCar.Exploded += d;
Чтобы отменить привязку к источнику событий, используйте операцию -=.
// ОбъектнаяПеременная.ИмяСобытия -= объектДелегата;
myCar.Exploded -= d;
С учетом этих соответствующих ожиданиям шаблонов, вот как должен выглядеть модифицированный метод Main(), в котором используется синтаксис регистрации событий C#.
class Program {
statiс vоid Main(string[] args) {
Console.WriteLine("***** События *****");
Car c1 = new Car("SlugBug", 100, 10);
// Регистрация обработчиков событий.
сl.AboutToBlow += new Car.CarEventHandler(CarIsAlmostDoomed);
cl.AboutToBlow += new Car.CarEventHandler(CarAbautToBlow);
Car.CarEventHandler d = new Car.CarEventHandler(CarExploded);
cl.Exploded += d;
Console.WriteLine(" ***** Ускорение *****);
for(int i = 0; i ‹ 6; i++) cl.Accelerate(20);
// Удаление метода CarExploded из списка вызовов.
cl.Exploded -= d;
Console.WriteLine(" ***** Ускорение *****");
for(int i = 0; i ‹ 6; i++) cl.Accelerate(20);
Console.ReadLine();
}
public static void CarAboutToBlow(string msg) { Console.WriteLine(msg); }
public static void CarIsAlmostDoomed(string msg) { Console.WriteLine("Critical Message from Car: {0}", msg); }
public static void CarExploded(string msg) { Console.WriteLine(msg); }
}
Исходный код. Проект CarEvents размещен в подкаталоге, соответствующем главе 8.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Прием клиентских запросов соединения
Прием клиентских запросов соединения Наконец, сервер может ожидать соединения с клиентом, используя функцию accept, возвращающую новый подключенный сокет, который будет использоваться в операциях ввода/вывода. Заметьте, что исходный сокет, который теперь находится в
Прием импульса
Прием импульса Прием импульса выполняется очень просто: короткое, четко определенное сообщение передается функции MsgReceive(), как будто поток отправил обычное стандартное сообщение. Единственное различие состоит в том, что вы не сможете применить функцию MsgReply() к такому
Прием и отправка сообщений
Прием и отправка сообщений Общаться, общаться! И немедленно. Благо именно эта функция в программе главная… А сам процесс общения просто до банальности. Хотите написать письмо – щелкаете по имени нужного контакта. Можно вызвать окно сообщений и из контекстного меню
Прием платы за товары и услуги в Интернете
Прием платы за товары и услуги в Интернете Скачайте эту интеллект-карту по адресу: http://smartinfomarketing.ru/book-leads.htmТеперь давайте поговорим об организации приема оплаты за ваши товары, коучинги, тренинги, интернет-семинары. Пройдемся по основным
Прием и отправка сообщений
Прием и отправка сообщений С приемом сообщений по «аське» проблем возникнуть не должно: в момент, когда на ваш компьютер поступает письмо от одного из пользователей ICQ, цветок программы в системном трее сменяется на значок подмигивающей записки. Щелкните по нему – и
Передача и прием дейтаграмм UDP
Передача и прием дейтаграмм UDP Класс QUdpSocket может использоваться для отправки и приема дейтаграмм UDP. UDP — это ненадежный, ориентированный на дейтаграммы протокол. Некоторые приложения применяют протокол UDP, поскольку с ним легче работать, чем с протоколом TCP. По протоколу
Чтение поступающих данных cookie
Чтение поступающих данных cookie Напомним, что именно браузер отвечает за возможность доступа к перманентным данным cookie во время обращения к ранее посещавшейся странице. Для взаимодействия с поступающими данными cookie в ASP.NET предусмотрено свойство HttpRequest.Cookies. Например, если
15.3. Слушание уведомлений, поступающих с клавиатуры, и реагирование на них
15.3. Слушание уведомлений, поступающих с клавиатуры, и реагирование на них Постановка задачи Мы позволяем пользователю вводить какой-либо текст в нашем графическом интерфейсе. Для этого применяется определенный компонент, например текстовое поле или текстовый вид,
Прием и обработка SMS-сообщений
Прием и обработка SMS-сообщений Итак, мы научились отправлять SMS-сообщения из своей программы. Но было бы неплохо научить приложения принимать подобные сообщения. Для приема сообщений существует пространство имен MessageInterception, которое находится в сборке
Прием «кулисы»
Прием «кулисы» Этот эффектный композиционный прием заключается в том, что объект помещают в своего рода «рамку». Очень интересные фотографии получаются, когда съемка ведется из арки ворот, из пещеры, да и просто сквозь ветви куста, – при этом объект получается
Глава 1 ПРИЕМ КАБЕЛЬНЫХ И ЭФИРНЫХ ТЕЛЕКАНАЛОВ
Глава 1 ПРИЕМ КАБЕЛЬНЫХ И ЭФИРНЫХ ТЕЛЕКАНАЛОВ Наверное, у каждого человека сегодня есть дома телевизор, а чаще их даже несколько. Многие любят смотреть телепередачи, сидя в кресле, расслабляясь после рабочего дня. Примерно у половины владельцев телевизоров дома есть еще и
Глава 5 ПРИЕМ СПУТНИКОВЫХ ТЕЛЕКАНАЛОВ
Глава 5 ПРИЕМ СПУТНИКОВЫХ ТЕЛЕКАНАЛОВ Собрав и настроив систему для просмотра телевидения на домашнем компьютере, осталось разобраться с программами, позволяющими просматривать видео на компьютере, – с виртуальными телевизорами. Обычно в комплекте с DVB-тюнером идет
Глава 11 Отправка и прием факсов
Глава 11 Отправка и прием факсов Лучше всего с отправкой и приемом факсов справляются, конечно, факсовые аппараты. Однако если вам неожиданно понадобилось, например, принять факс, а такого устройства нет, можно вполне использовать для этой цели возможности компьютера, тем
Секретный прием
Секретный прием Скажу вам по секрету: нужно записывать свои цели. Пока они находятся у вас в голове, они не так конкретны, как вам кажется. Они слишком туманны. Невозможно оценить их, рассказать о них кому-нибудь. С ними невозможно работать.Процесс изложения на бумаге
Прием и просмотр сообщений
Прием и просмотр сообщений Сразу же после запуска Почта Windows проверит, есть ли соединение с Интернетом. При его отсутствии будет предложено подключиться к Сети или работать в автономном режиме. После установки соединения программа проверит наличие новой корреспонденции