最典型的事件例子,貓叫了(事件源),老鼠跑了(事件訂閱者),驚醒主人(事件訂閱者)
源代碼:
class Program
{
static void Main(string[] args)
{
Cat cat = new Cat();
cat.catEvent += Mouse;//訂閱貓事件
cat.catEvent += Person;//訂閱人事件
cat.Cry("貓:喵~");//貓叫的動作,觸發事件
Console.ReadKey();
}
private static void Person(object sender, EventArgs e)
{
Console.WriteLine("人:大半夜的不睡覺,叫喚個啥呢?~");
}
private static void Mouse(object sender, EventArgs e)
{
Console.WriteLine("貓:快跑~");
}
}
public class Cat
{
public event EventHandler<EventArgs> catEvent;
public void Cry(string msg)
{
Console.WriteLine(msg);
catEvent(this, new EventArgs());
}
}
執行結果:

