黑马程序员技术交流社区
标题: 什么是 委托与匿名委托 ? [打印本页]
作者: 刘安成 时间: 2013-12-16 14:27
标题: 什么是 委托与匿名委托 ?
本帖最后由 刘安成 于 2013-12-16 18:23 编辑
什么是 委托与匿名委托 ? 有什么区别吗?都怎么用啊
作者: 鸡蛋壳 时间: 2013-12-16 15:11
1、委托具有以下特点:
委托类似于 C++ 函数指针,但它是类型安全的。
委托允许将方法作为参数进行传递。
委托可用于定义回调方法。什么是回掉
委托可以链接在一起;例如,可以对一个事件调用多个方法。
方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。
C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。
2、C#中定义事件委托可以分为三个步骤
定义委托
//声明委托
public delegate void MyDel();
实例化委托
//实例化委托,用一个方法进行实例化
//该方法签名要与委托签名一致
调用委托
//调用委托
Del();
总结:
1.委托实际上就是将函数当做传参数来传递
2.匿名委托与委托最大的区别就是能够访问当前上下文的变量,即使变量不在方法内部。
3.事件其实也是一种委托。
4.在委托中必须具有相同的方法签名,包括返回类型和参数。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |