什么是委托?委托有什么作用?
- 委托本质上是一个类,它定义了方法的返回值与参数列表。
- 委托的作用是可以将方法当作另一个方法的参数来进行传递。通俗的讲,委托就是用来执行方法(函数)的一个东西。
能被委托代理的方法有什么限制?
- 被委托代理的方法,必须与最初委托声明时的返回值类型和参数列表相同。
什么是多播委托?
- 包含多个方法的委托就被称为多播委托。
- 通过调用多播委托,可以按顺序连续调用被包含的方法。
基于多播委托的特性,委托的签名通常只返回void,这是为什么?
- 因为调用多播委托,会调用其包含的多个方法,如果这些方法具有返回值,那么就只能得到委托调用的最后一个方法。
简述事件的发布-订阅模型。
- 事件在类中声明且生成,且通过使用同一个类或其他类中的委托与事件处理程序关联。
- 包含事件的类用于发布事件,这被称为发布器类;其他接受该事件的类被称为订阅器类。
- 事件使用发布-订阅模型。
- 发布器是一个包含事件和委托定义的对象,事件件和委托之间的联系也定义在这个对象中。发布器类的对象调用这个事件,并通知其他的对象。
- 订阅器是一个接受事件并提供事件处理程序的对象。在发布器类中的委托调用订阅器(subscriber)类中的方法(事件处理程序)。
简述定义和使用事件的步骤。
- 创建发布器类
- 声明一个委托微型
- 根据委托类型定义事件
- 定义一个方法来引发事件
- 创建发布器类或事件处理程序
- 实例化发布器类
- 关联发布器实例是事件与事件处理程序
- 触发事件