Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Пример групповой адресации события
Как и делегаты, события поддерживают групповую адресацию. Это дает возможность нескольким объектам реагировать на уведомление о событии. // Продемонстрировать групповую адресацию события. using System; //Объявить тип делегата для события. delegate void MyEventHandler(); // Объявить делегат, содержащий событие. class MyEvent { public event MyEventHandler SomeEvent; // Этот метод вызывается для запуска события. public void OnSomeEvent() { if (SomeEvent!= null) SomeEvent(); } } class X { public void Xhandler() { Console.WriteLine("Событие получено обьектом класса X"); } } class Y { public void Yhandler() { Console.WriteLine("Событие получено обьектом класса Y"); } } class EventDemo2 { static void Handler() { Console.WriteLine("Событие получено обьектом класса EventDemo"); } static void Main() { MyEvent evt = new MyEvent(); X xOb = new X(); Y yOb = new Y(); // Добавить обработчики в список событий. evt.SomeEvent += Handler; evt.SomeEvent += xOb.Xhandler; evt.SomeEvent += yOb.Yhandler; //Заеустить событие evt.OnSomeEvent(); Console.WriteLine(); //удалить обработчик. evt.SomeEvent -= xOb.Xhandler; evt.OnSomeEvent(); } } Событие получено объектом класса EventDemo Событие получено объектом класса X Событие получено объектом класса Y
Событие получено объектом класса EventDemo Событие получено объектом класса Y В данном примере создаются два дополнительных класса, X и Y, в которых также определяются обработчики событий, совместимые с делегатом MyEventHandler. Поэтому эти обработчики могут быть также включены в цепочку событий. Обратите внимание на то, что обработчики в классах Xи Y не являются статическими. Это означает, что сначала должны быть созданы объекты каждого из этих классов, а затем в цепочку событий должны быть введены обработчики, связанные с их экземплярами. Date: 2015-09-02; view: 369; Нарушение авторских прав |