C#委托基础2——多路委托

多路委托

 
 
  1. class Program  
  2.     {  
  3.         public delegate void SayThingToS(string s);  
  4.  
  5.         void SayHello(string s)  
  6.         {  
  7.             Console.WriteLine("你好{0}", s);  
  8.         }  
  9.  
  10.         void SayGoodBye(string s)  
  11.         {  
  12.             Console.WriteLine("再见{0}", s);  
  13.         }  
  14.  
  15.         static void Main(string[] args)  
  16.         {  
  17.             // 方式一  
  18.             SayThingToS say1, say2, say3, say4;  
  19.             Program p = new Program();  
  20.             say1 = p.SayHello;  
  21.             say1("xy"); // 你好xy  
  22.  
  23.             say2 = p.SayGoodBye;  
  24.             say2("xy"); // 再见xy  
  25.  
  26.             say3 = say1 + say2;  
  27.             say3("xy"); // 你好xy,再见xy  
  28.  
  29.             say4 = say3 - say1;  
  30.             say4("xy"); // 再见xy  
  31.  
  32.  
  33.             // 方式二  
  34.             SayThingToS s1 = new SayThingToS(p.SayHello);  
  35.             s1 += new SayThingToS(p.SayGoodBye);  
  36.             s1("xy"); // 你好xy,再见xy  
  37.  
  38.             SayThingToS s2 = new SayThingToS(p.SayHello);  
  39.             s2 += new SayThingToS(p.SayGoodBye);             
  40.             s2 -= new SayThingToS(p.SayHello);  
  41.             s2("xy"); // 再见xy  
  42.         }  
  43.     } 

 

本文参考自金旭亮老师的《.NET 4.0面向对象编程漫谈》有关代理的内容

C#委托基础系列原于2011年2月份发表在我的新浪博客中,现在将其般至本博客。

本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1070981如需转载请自行联系原作者


woshixuye111

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值