刚学C#事件,写个简单的demo记录下过程
1.实现功能:如果小狗生病了,把这个事件通知给小猫,让小猫careful
2.定义小狗的类,也叫事件的发布者
public class Dog{
public delegate void sickHandler();
public static event sickHandler SickEvent ;//定义事件
public void sick(){
//触发事件的方法
if(SickEvent !=null){
SickEvent ();//通知给订阅该事件的订阅者,本例也就是猫
}
}
}
3.定义小猫的类;事件的订阅者
public class Cat{
public void beCare(){
Console.writeLine("be careful and keep far away from the dog");//向发布者注册的事件
}
}
4.在main方法中执行
static void Main(string[] args)
{
Dog dog = new Dog();
Cat cat = new Cat();
Dog.SickEvent += cat.beCareful;//将猫的注册事件绑定给发布者
dog.sick();//触发事件
Console.ReadKey();
}