---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
委托是希望能够调用一个函数,但是写程序的时候不用知道调用的是哪个函数,只要能传参数,这样我们只要取返回值就可以。委托保存的不是实际值,而是保存对存储在托管堆中的对象的引用。委托的特点:
1、委托类似于 C++ 函数指针,但它是类型安全的。它与指针区别:用委托就可以指向任意的函数,哪怕是之前没定义的都可以
2、委托允许将方法作为参数进行传递。
3、委托可用于定义回调方法。
4、委托可以链接在一起;例如,可以对一个事件调用多个方法。
声明委托的方式:delegate 返回值类型 委托类型名(参数)
C#代码: delegate void StringProcess(string s);
事件就是一个消息。在C#中称为事件,C#中处理事件是通过委托完成,必须先理解委托才能更好的理解事件。事件是一个特殊的委托类。事件的特点:
1、发行者确定何时引发事件,订户确定执行何种操作来响应该事件。
2、一个事件可以有多个订户。
3、一个订户可处理来自多个发行者的多个事件。
4、没有订户的事件永远不会被调用。
5、事件通常用于通知用户操作(如:图形用户界面中的按钮单击或菜单选择操作)。
6、如果一个事件有多个订户,当引发该事件时,会同步调用多个事件处理程序。
7、要异步调用事件,请参见使用异步方式调用同步方法。
8、可以利用事件同步线程
委托和事件没有可比性,因为委托是类型,事件是对象。
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------