委托是一个类,它定义了方法的类型
委托的定义: public delegate void Hello(); 方法中使用委托: public void GreetHello(Hello hello){ hello(); //调用委托中的方法 }将方法绑定到委托上面
Hello hello; hello = 方法1; 创建委托的时候,绑定一个方法 Hello hello = new Hello(方法);事件的定义: public event Hello hello; 比委托多了一个event//定义一个委托
public delegate void GreetPeople; public class Demo { //定义一个事件 public event GreetPeople greet; //方法中调用事件里面的全部方法,如果事件没有初始化要报错 public void Greet() { //调用事件的全部方法 greet(); } } public class Test{ public static void Main(String [] args) { Demo demo = new Demo(); demo. += 方法; demo.Greet(); } } 事件有两种加载方法的方式: this.事件 = 方法名 this.事件 = new 委托(方法名);Observer设计模式简介
利用事件可以存放多个方法,来实现一个对象变化时,告诉另外对象我变化了