using System; namespace Delegate { class Hoge { public EventHandler Piyo; public Hoge() { } public void Raise() { Piyo(null, EventArgs.Empty); } } class Program { static void Main() { Hoge hoge = new Hoge(); hoge.Piyo += Hoge1; hoge.Piyo += Hoge2; hoge.Piyo += Hoge3; hoge.Raise(); var mcd = (MulticastDelegate)hoge.Piyo; var list = mcd.GetInvocationList(); } static void Hoge1(object sender, EventArgs e) { System.Diagnostics.Debug.Print("Hope1"); } static void Hoge2(object sender, EventArgs e) { System.Diagnostics.Debug.Print("Hope2"); } static void Hoge3(object sender, EventArgs e) { System.Diagnostics.Debug.Print("Hope3"); } } }