一,简介
1,声明一个委托类型。委托声明看上去和方法声明相似,只是没有实现块。
2,使用该委托类型声明一个委托变量。
3,创建委托类型的对象,把它赋值给委托变量。新的委托对象包括指向某个方法的引用,这个方法和第一步定义的签名和返回值类型一致。
4,你可以选择为委托对象增加其他方法。这些方法必须与第一步中定义的委托类型有相同的签名和返回类型。
5,在代码中你可以像调用方法一样调用委托。在调用委托的时候,其包含的每一个方法都会被执行。
二,声明
委托类型声明在两个方面与方法不同。委托类型声明:
1,以delegate关键字开头;
2,没有方法主体
三,创建
委托是引用类型,因此有引用和对象。
有两种创建委托对象的方式。
第一种是使用带new运算符的对象创建表达式:
第二种是使用快捷语法:
四,给委托添加和移除方法
1,添加
2,移除
3,调用
五,匿名方法
如果方法只会被使用一次,除了创建委托的语法需要,没有必要创建独立的具名方法。匿名方法允许我们使用独立的具名方法。
使用前:
使用后:
匿名方法表达式的语法包含如下组成部分:
1.delegate类型关键字
2.参数列表,如果语句块没有使用任何参数则可以省略
3.语句块,它包含了匿名方法的代码
六,Lambda表达式
以下步骤把匿名方法转为Lambda表达式
1.删除delegate关键字;
2.在参数列表和匿名方法主体之间放Lambda运算符 => 。