Individual objects receive notifications when instance event handlers are used : 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 KeyEvent { 
  int id; 
 
  public KeyEvent(int x) { 
     id = x; 
  } 
 
  public void KeyEventHandler() { 
    Console.WriteLine("Event received by object " + id); 
  } 
} 
 
class MainClass { 
  public static void Main() {  
    MyEvent evt = new MyEvent(); 
    KeyEvent o1 = new KeyEvent(1); 
    KeyEvent o2 = new KeyEvent(2); 
    KeyEvent o3 = new KeyEvent(3); 
 
    evt.SomeEvent += o1.KeyEventHandler; 
    evt.SomeEvent += o2.KeyEventHandler; 
    evt.SomeEvent += o3.KeyEventHandler; 
 
    evt.OnSomeEvent(); 
  } 
}
Event received by object 1
Event received by object 2
Event received by object 3








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