本帖最后由 一直在努力 于 2013-6-11 22:31 编辑
猫叫了,老鼠跑了,人醒醒了
猫大叫一声,小老鼠吓的发疯的跑了,米老鼠也吓跑了,主人醒了
(方法、委托通过传参数来判断是普通叫,还是大叫)
int i=0;普通叫
int i=1;大叫
public delegate void FunCallDelegate(int i);
public class Cat{
public event FunCallDelegate Call;
public void Call(int i )
{
Call(out i);
}
}
public class Mouse
{
public Mouse(Cat cat)
{
cat.Call+= Run;
}
public void Run(int i)
{
switch(i)
{
case 0:
Console.WriteLine("老鼠跑了");
break;
case 1:
Console.WriteLine("小老鼠吓得发疯的跑了,米老鼠也吓跑了");
break;
default
Console.WriteLine("没事...");
}
}
}
public class Master
{
public Master(Cat cat)
{
cat.Call+= Run;
}
public void Run(int i)
{
switch(i)
{
case 0:
Console.WriteLine("人醒醒了");
break;
case 1:
Console.WriteLine("主人醒了");
break;
default:
Console.WriteLine("没事...");
}
}
}
class Program
{
static void Main(string[] args)
{
Cat cat = new Cat();
Mouse mouse = new Mouse(cat);
Master master = new Master(cat);
int i=0;
cat.Call(0);
i=1;
cat.Call(1);
Console.ReadKey();
}
}
|