黑马程序员技术交流社区

标题: 什么是 委托与匿名委托 ? [打印本页]

作者: 刘安成    时间: 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