c#委托与事件的疑问?

ljb07976513524 2009-04-06 10:24:39
我想更了解委托与事件的含义?
请各位大侠给我讲讲。。。
...全文
114 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiejiep 2009-04-06
  • 打赏
  • 举报
回复
http://www.cnblogs.com/JimmyZhang/archive/2007/09/23/903360.html
讲的很精彩,也很易懂。
jiejiep 2009-04-06
  • 打赏
  • 举报
回复
事件实际上是一个封装了的委托。
iamwxj 2009-04-06
  • 打赏
  • 举报
回复
http://blog.csdn.net/lynnlin1122/archive/2008/06/04/2512023.aspx
参考一下,讲的挺透的
believeken 2009-04-06
  • 打赏
  • 举报
回复
委托是C#中的一种引用类型,类似于C/C++中的函数指针。与函数指针不同的是,委托是面向对象、类型安全的,而且委托可以引用静态方法和实例方法,而函数指针只能引用静态函数。委托主要用于 .NET Framework 中的事件处理程序和回调函数。

一个委托可以看作一个特殊的类,因而它的定义可以像常规类一样放在同样的位置。与其他类一样,委托必须先定义以后,再实例化。与类不同的是,实例化的委托没有与之相应的术语(类的实例化称作对象),作为区分我们将实例化的委托称为委托实例。


在C#中,委托的最基本的一个用处就是用于事件处理。事件是对象发送的消息,以发信号通知操作的发生,通俗一点讲,事件就是程序中产生了一件需要处理的信号。

事件的定义用关键字event声明,不过声明事件之前必须存在一个多路广播委托:


比较:
事件的声明仅仅是比委托实例的声明多了个关键字event,事实上事件可以看作是一个为事件处理过程定制的多路广播委托。因此,定义了事件后,我们就可以通过向事件中操作符+=添加方法实现事件的预定或者是通过-=取消一个事件,这些都与委托实例的处理是相同的。与委托实例不同的是,操作符=对于事件是无效的

事件是一种特殊的委托,必须与委托关联,相当于声明事件,必须声明称委托的事件

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧