нескольким объектам реагировать на уведомление о событии. Ниже приведен пример групповой адресации события.

// Продемонстрировать групповую адресацию события, using System;

// Объявить тип делегата для события, delegate void MyEventHandler() ;

// Объявить делегат, содержащий событие, class MyEvent {

public event MyEventHandler SomeEvent;

// Этот метод вызывается для запуска события, public void OnSomeEvent()    {

if(SomeEvent != null)

SomeEvent();

}

}

class X {

public void XhandlerO {

Console.WriteLine('Событие получено объектом класса X');

}

class Y {

public void YhandlerO {

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 не являются статическими. Это означает, что сначала должны быть созданы объекты каждого из этих классов, а затем в цепочку событий должны быть введены обработчики, связанные с их экземплярами. Об отличиях между обработчиками экземпляра и статическими обработчиками речь пойдет в следующем разделе.

Методы экземпляра в сравнении со статическими методами в качестве обработчиков событий

Методы экземпляра и статические методы могут быть использованы в качестве обработчиков событий, но между ними имеется одно существенное отличие. Когда

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ОБРАНЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату