首页 > 其他 > 详细

委托的组合与分解

时间:2015-02-26 14:46:12      阅读:173      评论:0      收藏:0      [点我收藏+]

     委托变量可以代表某一函数,使用委托变量就相当于调用一个函数。如果仅是这么简单,

那么直接调用函数不就行了吗?为什么还要引入委托这一特性?

      事实上,委托不仅可以代表一个函数,还可以组合一堆的函数,然后批量执行它们。

      请看示例程序 UseDelegate,它展示了委托变量之间的组合与分解。

      项目中定义了一个委托类型 MyDelegate:

          delegate void MyDelegate(string  s);          

      接着定义了一个拥有两个静态方法的类 MyClass:

技术分享

      请仔细看以下代码:

技术分享

      上述代码中委托变量  c组合了两个委托变量   a和    b,因而,它拥有两个函数,当执行

“c("c=a+b");”时,将导致 MyClass类的两个静态函数都被执行。

      象 c这样的委托变量又称为多路委托变量

      可以用加法运算符来组合单个委托变量为多路委托变量。类似地,也可以使用减法运算

符来从一个多路委托变量中移除某个委托变量。

      上述示例的运行结果为:

调用委托变量  a:

您好, a!

调用委托变量  b:

再见, b!

调用委托变量  c:

您好, c=a+b!

再见, c=a+b!

调用委托变量  d:

再见, d=c-a!

委托的组合与分解

原文:http://www.cnblogs.com/LCL390/p/4301194.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!