C#语言-05.委托和事件
a. 委托:是一种定义方法签名的类型,可以与具有兼容签名的任何方法关联。所谓兼容的方法,是指这个方法和委托的方法签名具有相同的返回类型和参数 i. 语法:delegate 方法签名; 1. 方法签名是方法的名字,没有方法体 ii. 使用委托的过程 1. 定义委托和委托对象 2. 编写要委托的方法 3. 将要委托的方法传递给委托对象 4. 使用委托调用委托方法 iii. 多播委托:是将多个与委托有相同方法签名的方法绑定到同一个方法上 1. 使用多播委托要求方法返回类型为 void。 2. 用“+=”号给委托增加一个方法,用“-=”号从委托链减去一个方法 b. 事件:是多播委托的一种特例,使用事件有更好的安全性,避免了委托对象被篡改 i. 语法:public delegate void EventHandler(Object sender,EventArgs e); public event EventHandler QuestionEvent a. 说明: i. 委托中的 sender 参数表示事件的发出者,EventArgs e 表示事件的数据 ii. EventArgs 是所有事件参数的基类,本身不包含数据