Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию