An event multicast demonstration : delegate event « delegate « C# / CSharp Tutorial






using System; 
 
delegate void MyEventHandler(); 
 
class MyEvent { 
  public event MyEventHandler SomeEvent; 
 
  public void OnSomeEvent() { 
    if(SomeEvent != null) 
      SomeEvent(); 
  } 
} 
 
class MouseEvent { 
  public void MouseEventHandler() { 
    Console.WriteLine("Event received by MouseEventHandler object"); 
  } 
} 
 
class KeyEvent { 
  public void KeyEventHandler() { 
    Console.WriteLine("Event received by KeyEventHandler object"); 
  } 
} 
 
class MainClass { 
  static void handler() { 
    Console.WriteLine("Event received by EventDemo"); 
  } 
 
  public static void Main() {  
    MyEvent evt = new MyEvent(); 
    MouseEvent xOb = new MouseEvent(); 
    KeyEvent yOb = new KeyEvent(); 
 
    evt.SomeEvent += handler; 
    evt.SomeEvent += xOb.MouseEventHandler; 
    evt.SomeEvent += yOb.KeyEventHandler; 
 
    evt.OnSomeEvent(); 
    Console.WriteLine(); 
 
    evt.SomeEvent -= xOb.MouseEventHandler; 
    evt.OnSomeEvent(); 
  } 
}
Event received by EventDemo
Event received by MouseEventHandler object
Event received by KeyEventHandler object

Event received by EventDemo
Event received by KeyEventHandler object








9.8.delegate event
9.8.1.Creating a new event.
9.8.2.delegate and event
9.8.3.A very simple event demonstration.
9.8.4.An event multicast demonstration
9.8.5.Individual objects receive notifications when instance event handlers are used
9.8.6.A static method is used as an event handler
9.8.7.Creating an event.
9.8.8.Retrieving Even-Numbered Events with the .NET Delegate Convention
9.8.9.Retrieving Even-Numbered Events
9.8.10.Advanced Event
9.8.11.Using The Event Keyword
9.8.12.delegate and Event handler