首页 > 其他 > 详细

事件与委托

时间:2016-03-19 17:53:53      阅读:170      评论:0      收藏:0      [点我收藏+]

  记得当初刚学习.net的时候,觉得委托这块好难,好长一段时间都是会用非懂的状态,现在也用这么长时间了,就想着回顾一下基础,加深对于这块的了解。

  委托,简单点说,就是可以把函数做为参数供其他模块调用,类似于C++中的函数指针;

  public delegate void MyDelegate();

  委托简单就是在一个函数声明之前添加一个delegate关键字,这样便声明了一个委托类型,即一种特殊的类。该类是不可以继承的,通过ildasm可以很明白的看到这一点。并提供了两种调用方式,同步调用和异步调用。

技术分享

 

 

 

 

  而事件,则是在委托基础上加了一些限制。一种特殊的委托对象。其声明可以是:

        private static event MyDelegate Myevent;

技术分享

  其限制在于,事件的调用只能在声明事件的对象内部进行调用,外部只能对事件的委托链进行添加或删除方法,在声明对象的内部的使用与普通的委托对象的使用无异。

  .net中内置的委托主要有Func和Action,一个需要返回值,而另外一个不需要。一般来说,.net提供的这些委托类型已满足要求,不满足时,可以自定义。

技术分享技术分享

 

事件与委托

原文:http://www.cnblogs.com/maigc249/p/5295721.html

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