给事件分配了方法,执行事件,便等于执行这些方法
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Console.WriteLine("刘备陷入曹操埋伏之中,情况危急……");
Liubei lb = new Liubei();
lb.ShoutEvent += (new Guanyu()).Help;
lb.ShoutEvent += (new Zhangfei()).Help;
lb.Shout();
Console.ReadLine();
}
class Liubei
{
public delegate void ShoutEventHandler(string str);
public event ShoutEventHandler ShoutEvent;
public void Shout()
{
Console.WriteLine("快来救我!!");
if (ShoutEvent != null)
{
ShoutEvent("");//执行事件
}
}
}
class Guanyu
{
public void Help(string str)
{
Console.WriteLine("主公,关羽来也!");
}
}
class Zhangfei
{
public void Help(string str)
{
Console.WriteLine("主公,张飞来也!");
}
}
}