C#沉淀之委托的深入讲解

2020-01-05 09:37:19刘景俊

委托与类

委托和类一样,是一种用户自定义的类型;不同的是类表示的是数据和方法的集合,而委托持有一个或多个方法,以及一系列预定义操作

委托的使用步骤

  • 声明一个委托类型
  • 使用该委托类型声明一个委托变量
  • 创建委托类型的对象,把它赋值给委托变量;委托对象中包括指向某个方法的引用,此方法和委托类型定义的签名与返回类型需要一致
  • 增加更多的方法(可选)
  • 像调用方法一样调用委托(委托中的包含的每一个方法都会被执行)

    delegate的原则

    delegate相当于一个包含有序方法列表的对象,这些方法都具有相同的签名和返回类型

    方法的列表称为调用列表

    委托保存的方法可以来自任何类或结构,只要它们在以下两点匹配: