事件的使用
1 定义事件 public event 委托类型 事件名
2 注册事件 事件对象.事件 += 响应方法
3 触发事件 触发事件在类内部触发,事件定义在哪就在哪触发
4 调用事件
事件是一种观察者设计模式,如图
我们来一道题,来熟悉
这里有三个对象 人, 老鼠, 猫。分别三个类
猫叫是事件源
人醒和老鼠跑是被绑定的事件
代码
using System;
namespace EventDemo
{
public class Program
{
public static void Main()
{
Cat cat = new();
Mouse mouse = new();
Person person = new();
//第二步 注册事件
cat.CatCall += mouse.RunAway;
cat.CatCall += person.Wake;
//第四步 调用事件
cat.Call();
}
public class Cat
{
//第一步 定义事件
public delegate void CatCallHandler();
public CatCallHandler CatCall;
//第三步 触发事件
public void Call()
{
Console.WriteLine("猫叫了");
CatCall?.Invoke();
}
}
public class Mouse
{
public void RunAway()
{
Console.WriteLine("老鼠逃跑了");
}
}
public class Person
{
public void Wake()
{
Console.WriteLine("人被吵醒了");
}
}
}
}
结果
简单讲述了一下事件的用法,谢谢大家的观看