委托和事件

委托是一个类,它定义了方法的类型
委托的定义: 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设计模式简介
利用事件可以存放多个方法,来实现一个对象变化时,告诉另外对象我变化了









原文地址:https://www.cnblogs.com/huangf714/p/5876087.html