Mega Code Archive

 
Categories / C# / Language Basics
 

An event multicast demonstration

/* C#: The Complete Reference  by Herbert Schildt  Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852 */ // An event multicast demonstration.     using System;    // Declare a delegate for an event.   delegate void MyEventHandler();    // Declare an event class.  class MyEvent {    public event MyEventHandler SomeEvent;      // This is called to fire the event.    public void OnSomeEvent() {      if(SomeEvent != null)        SomeEvent();    }  }    class X {    public void Xhandler() {      Console.WriteLine("Event received by X object");    }  }    class Y {    public void Yhandler() {      Console.WriteLine("Event received by Y object");    }  }    public class EventDemo1 {    static void handler() {      Console.WriteLine("Event received by EventDemo");    }      public static void Main() {       MyEvent evt = new MyEvent();      X xOb = new X();      Y yOb = new Y();        // Add handlers to the event list.      evt.SomeEvent += new MyEventHandler(handler);      evt.SomeEvent += new MyEventHandler(xOb.Xhandler);      evt.SomeEvent += new MyEventHandler(yOb.Yhandler);        // Fire the event.      evt.OnSomeEvent();      Console.WriteLine();        // Remove a handler.      evt.SomeEvent -= new MyEventHandler(xOb.Xhandler);      evt.OnSomeEvent();    }  }