委托
1.委托可以认为是一个或多个方法的对象。
2.委托:delegate,ref,out,params,Lambda表达式(->运算符)
委托是一种类型
3.声明委托类型,创建委托变量,初始化委托变量(使用new运算符或快捷语法),组合委托,添加和删除委托方法(+=,+-运算符),调用委托
调用带返回值的委托,调用带引用参数的委托(ref:引用参数的值会在调用间发生变化)
4.具名方法:使用静态方法或实例方法来初始化委托
匿名方法:在初始化委托时内敛声明的方法
在匿名方法实现代码的外部变量称为方法捕获
1.发布者,订阅者,事件处理程序,触发事件
2.源代码组件:委托类型声明,事件处理程序声明,事件声明,事件注册,触发事件代码
声明事件
1 namespace A 2 { 3 class Incrementer 4 { 5 public event EventHandler CountedADozen; 6 // 关键字 委托类型 事件名 7 public event EventHandler MyEvent1, MyEvent2, MyEvent3; 8 9 public static event EventHandler CountedAdozen; 10 11 } 12 }
事件是成员,它和方法和属性一样,是类或结构的成员
订阅事件:
触发事件