public delegate void MyHandler1(object sender, MyEventArgs e);
public delegate void MyHandler2(object sender, MyEventArgs e);
public const string m_id = "Class A";
public void OnHandler1(object sender, MyEventArgs e)
Console.WriteLine("I am in OnHandler1 and MyEventArgs is {0}", e.m_id);
public void OnHandler2(object sender, MyEventArgs e)
Console.WriteLine("I am in OnHandler2 and MyEventArgs is {0}", e.m_id);
MyHandler1 d1 = new MyHandler1(OnHandler1);
MyHandler2 d2 = new MyHandler2(OnHandler2);b.Event1 += d1;b.Event2 += d2;
public event MyHandler1 Event1;
public event MyHandler2 Event2;
public void FireEvent1(MyEventArgs e)
public void FireEvent2(MyEventArgs e)
public class MyEventArgs : EventArgs
public static void Main()
MyEventArgs e1 = new MyEventArgs();
MyEventArgs e2 = new MyEventArgs();
e1.m_id = "Event args for event 1";
e2.m_id = "Event args for event 2";
b.FireEvent1(e1);b.FireEvent2(e2);