C#委託基盤2――多重委託
たじゅう委任
- class Program
- {
- public delegate void SayThingToS(string s);
-
- void SayHello(string s)
- {
- Console.WriteLine(" {0}", s);
- }
-
- void SayGoodBye(string s)
- {
- Console.WriteLine(" {0}", s);
- }
-
- static void Main(string[] args)
- {
- //
- SayThingToS say1, say2, say3, say4;
- Program p = new Program();
- say1 = p.SayHello;
- say1("xy"); // xy
-
- say2 = p.SayGoodBye;
- say2("xy"); // xy
-
- say3 = say1 + say2;
- say3("xy"); // xy, xy
-
- say4 = say3 - say1;
- say4("xy"); // xy
-
-
- //
- SayThingToS s1 = new SayThingToS(p.SayHello);
- s1 += new SayThingToS(p.SayGoodBye);
- s1("xy"); // xy, xy
-
- SayThingToS s2 = new SayThingToS(p.SayHello);
- s2 += new SayThingToS(p.SayGoodBye);
- s2 -= new SayThingToS(p.SayHello);
- s2("xy"); // xy
- }
- }
本稿では,金旭亮先生の『.NET 4.0オブジェクト向けプログラミング漫談』からエージェントに関する内容を参考にする.
C#委託基礎シリーズは2011年2月に私の新浪ブログに発表されたが、現在はこのブログに掲載されている.