事件Event
事件就是委托的实例加上event关键字
提供的内置事件EventHandler
可以多个方法放到一个事件中或者一个委托中 执行事件或委托 执行里面的所有方法
事件或者委托.Invoke() 执行事件或方法
事件只有当前类中能invoke 子类都不可以Invoke
委托可以实例化 不同实例增加不同方法 事件就是一个实例
//定义一个有一个输入参数,无返回值的委托 public delegate void MyHandler(string name); public class MyEvent { //定义一个返回值为MyHandler委托的事件 public event MyHandler ClickEvent; public void ExcuteEvent(string a) { ClickEvent(a); } }
class Program { static void Main(string[] args) { MyEvent myEvent = new MyEvent(); //这个事件返回值为MyHandler委托 这个委托接收一个参数 无返回值的方法 myEvent.ClickEvent += (t) => { Console.WriteLine(); }; myEvent.ClickEvent += Show2 ; } public static void Show2(string name) { Console.WriteLine(name); } }