青软实训.NET学习笔记(6)---委托

来源:互联网 发布:网络体系架构 编辑:程序博客网 时间:2024/06/06 19:46
1、在.NET平台下,委托类型用来定义和响应应用程序中的回调。事实上,.NET委托类型是一个类型安全的对象,指向可以以后调用的其他方法。和传统的C++函数指针不同,.NET委托是内置支持多路广播和异步方法调用的对象。
2、回调(callback)一词本身指的是可以作为参数传给其他代码的一段可执行代码。普通调用往往是高层代码(如应用程序)去调用处在低层的函数(如系统函数、库函数)。而回调时,则是在低层函数执行时调用高层的代码。回调(通过委托-delegate)是多态和泛型编程之外的替代方案。
3、委托(delegate)类型包含3个重要的信息:
       它所调用的方法的名称
        该方法的参数(可选)
       该方法的返回值(可选)
4、.NET委托既可以指向静态方法,也可以指向实例方法。
5、C# delegate关键字呈现为一个派生自System.MulticastDelegate的密封类。及我们使用delegate关键字,就间接创建了一个类,这个类”是“MulticastDelegate。
6、在C#中创建一个委托类型时,需要使用delegate关键字,委托的名称可以自由选择,必须定义委托来匹配它指向的方法的签名。
    例如:public delegate int B(int x,int y);
     //这个委托可以指向任何传入俩个整数返回一个整数的方法。
7、如果要将目标对象方法插入指定委托对象,只要向委托的构造函数传入方法名称即可。
8、委托内置支持多路广播,给一个委托对象添加多个方法时,不用直接分配,重载+=操作符即可。
9、定义一个事件(event)分为俩个步骤。首先,我们需要定义一个委托类型,它包含在事件触发时将要调用的方法。其次,通过C#关键字event用相关委托声明这个事件。
原创粉丝点击