using System;
using System.Collections.Generic;
using System.Text;
namespace CatMouse
{
class MainClass
{
static void Main(string[] args)
{
Cat cat = new Cat("cat1");
Master ma = new Master("ivan");
Mouse ms = new Mouse("jerry");
cat.Cry += new Cat.CryEventHandler(ms.Response); //为事件添加事件处理程序
cat.Cry += new Cat.CryEventHandler(ma.Response);
cat.OnCry(); //猫叫
}
}
class Cat
{
public delegate void CryEventHandler(object o, EventArgs e); //声明Delegate
public event CryEventHandler Cry; //定义Event
private string m_name;
public Cat(string name)
{
m_name = name;
}
public void OnCry()
{
if (Cry != null)
{
Cry(this, EventArgs.Empty); //触发事件
}
}
}
public class Master
{
private string m_name;
public Master(string name)
{
m_name = name;
}
public void Response(object o, EventArgs e)
{
Console.WriteLine(m_name + "wake up");
}
}
public class Mouse
{
private string m_name;
public Mouse(string name)
{
m_name = name;
}
public void Response(object o, EventArgs e)
{
Console.WriteLine(m_name + "flee away");
}
}
}