.1 委托
.1.1 概述
委托(代理)关键字delegate,是一种程序特性,它是用来代表方法、表示方法的,用编程里的另一个说法:委托是方法的指针。
我们首先看看通常的声明语法:
int age = 10; //这里整型变量age代表的是10这个整型值
Course myCourse = new Course();//这里将Course类实例化出一个myCourse对象,myCourse是一个特定对象的代表
而委托的声明语法在格式上与上面没有什么差别:
delegate 委托变量名 = 具体方法;//但只是格式上没啥差别,本质上委托和上面的两种声明有很大的区别(见下面)
.1.2 诞生意义及应用场景
结合实际联想:一件事情我们自己处理不了,可以委托别人来帮助处理
我 (委托)别人 做某事
delegate 委托变量名 = 具体方法;//是不是对应上了?
前面的age、myCourse代表的都是某种“静态数据”,而委托代表的是一种“动态数据(行为数据)”,而这个行为就是方法(最开始学习编程的时候我们就知道,方法代表我们需要系统运行的动作)
在软件开发中,我们也会面临类似情况,一个方法因为已经在一个特定对象中被调用,此时我们想用另一种对象去调用这个方法时往往无法直接调用,这时候就可以使用委托解决。
情境举例:
如何达成我们上面用B在A中实例化的对象b在A中成功调用A的方法呢(这里与方法是否公有无关)?
使用委托。
.1.3 委托的使用
首先声明委托(方法的原型——方法的返回值类型、方法的参数列表)
标签:myCourse,委托,Course,C#,age,--,delegate,方法 From: https://www.cnblogs.com/90Red/p/17287927.html