委托(delegate)(引用类型):
委托是包含有相同签名和返回值类型的有序方法列表
委托保存的方法可以来自任何类或结构,需要同时匹配返回值和签名(签名包含ref和out)
委托的声明:
delegate void MyDel(int x)
创建委托对象
MyDel delVar;//创建一个委托
delvar = new MyDel(Class.M1)//用完整的语法初始化委托
delvar = Class.M1//直接用语法糖初始化委托
//委托可以组合(委托之间相加),也可以用+=和-=来增加和减少委托中的方法
委托名(变量)的方法来调用委托,括号内为声明委托的签名
如果委托中有多个方法,会挨个调用每一个方法
如果有方法注册多次,每一次遇到时都会调用
如果方法有返回值,委托会返回最后一个方法的返回值
如果参数中带入引用,每次都会引入新的值(如图:)
委托可以用来声明匿名方法,
但是更多的,匿名方法使用Lambda来声明