日期:2014-05-18  浏览次数:20674 次

各位大侠,请讲一下委托和事件,最好和别的语言比较讲解,谢谢了啊,小弟新手
各位大侠,请讲一下委托和事件,最好和别的语言比较讲解,谢谢了啊,小弟新手

------解决方案--------------------
委托就是叫别人帮你做同样的事,这件事同别人来帮你做,你只要告诉别人想做什么就行了.


事件:一种消息机制,鼠标单击,双击等都是事件,事件一般有事件源,响应的方法等。。。


------解决方案--------------------
1.委托,类似C、C++的函数指针,利用一个中间的东西去调用一个方法
2.事件相当于被动触发的方法、函数,由外部某些条件激发
------解决方案--------------------
1.委托,类似C、C++的函数指针,它是类型安全的。
2.事件是对委托的封装,事件是特殊的委托。举例,事件与委托的关系大概可以类比属性与字段的关系。
private string _a;
public string A
{
get {return _a;}
set {_a=value;}
}
属性A类比事件,字段_a类比委托,其实事件编译后产生一个private 委托变量,和add,remove委托的两个方法,对委托的赋值进行限制.
如果没有事件,那么必须把委托声明为public,这样委托随处可见,而且可以直接赋值(=),这样会丢失委托连中存在的方法列表。有了事件封装,用+=,-=限制。

本人初学,解释的不清楚或者错误楼主见谅。
------解决方案--------------------
给你一个地址,讲解比较经典http://www.cnblogs.com/jimmyzhang/archive/2007/09/23/903360.html