委托为什么被发明出来?
有些方法是有参数的:一般情况下,是给方法传“值类型”或“引用类型”的实参——如果实参得是个方法,那么形参类型和形参该怎么写——声明的委托,就是形参类型,有了形参类型,就可以定义形参变量了。
举例对比,两类变量的类型定义——变量定义——变量赋值——变量调用
(上图第二行第二格delegate关键字,应该在void前头;“Public”拼写错误,P应该小写——懒虫已经懒的重新作图了,就此说明一下)
对应委托术语
下图,黄框内即是一个需要传方法作为参数的特殊方法
Step1声明委托(图紫色框的上框)(返回值都是void吗?)
权限修饰符 delegate关键字 返回值 委托名和参数
public delegate void MyDelegate ()
无参数 (如上)
一个参数(略)
两个参数(略)
Step2声明委托类型的变量(图紫色框的下框)
Step3 委托类型的变量,注册“监听方法”(黄色框中的语句)
(确切的说是注册监听方法的引用,因为此时的方法没有括号和参数):有两种方式 :
委托类型的变量=new 委托类型(方法名)
委托类型的变量+=方法名
Step4调用委托类型的变量(红色框中的语句)(加括号,如果对应的方法有参数,那么要传递实参)
另外,必须先注册好方法再调用