マルチキャストする方法は簡単です。デリゲートのインスタンスに+=演算子で別のデリゲートのインスタンスを加えます。-=演算子で取り除くこともできます。
では、サンプルを見てみましょう。
// multicast01.cs using System; delegate void MD(); class multicast01 { void show1() { Console.WriteLine("show1です"); } void show2() { Console.WriteLine("show2です"); } void show3() { Console.WriteLine("show3です"); } public static void Main() { multicast01 m = new multicast01(); MD md1 = new MD(m.show1); MD md2 = new MD(m.show2); MD md3 = new MD(m.show3); MD md; md = md1; md += md2; md += md3; md(); Console.WriteLine("----------"); md -= md2; md(); Console.WriteLine("----------"); md -= md1; md(); Console.WriteLine("----------"); md += md3; md += md3; md(); } }サンプルからわかるように、メソッドを重複して登録することもできます。
実行結果は次のようになります。
Update 21/Sep/2006 By Y.Kumei