Пример стандартного делегата EventHandler для оповещения наблюдателей с помощью событий

namespace ConsoleApplication1

{class Источник

{ public event EventHandler My_event;

public void Создать_событие()

{ Console.WriteLine("Событие создано!!!");

if (My_event!= null) My_event(this,null);

}

}

class Наблюдатель1

{public void OnDo_Event(object sender, EventArgs e)

{Console.WriteLine("ВИЖУ, что произошло событие!!!"); }

}

class Наблюдатель2

{public static void OnDo_Event(object sender, EventArgs e)

{Console.WriteLine("Я тоже ВИЖУ, что произошло событие!!!"); }

}

class Program

{static void Main(string[] args)

{ Источник A = new Источник();

Наблюдатель1 B = new Наблюдатель1();

Наблюдатель1 C = new Наблюдатель1();

A.My_event += new EventHandler(B.OnDo_Event);

A.My_event += new EventHandler(C.OnDo_Event);

A.My_event += new EventHandler(Наблюдатель2.OnDo_Event);

//анонимный обработчик!!! Создание нового метода для обработки события!!!

A.My_event += delegate(object sender, EventArgs e)

{ Console.WriteLine("Я тоже с вами обрабатываю это событие"); };

A.Создать_событие(); Console.ReadKey(); }

}

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: