猫大叫一声,小老鼠吓的发疯的跑了,米老鼠也吓跑了,主人醒了
(方法、委托通过传参数来判断是普通叫,还是大叫)
int i=0;普通叫
int i=1;大叫作者: ljh4282158 时间: 2013-6-11 19:32
delegate void ActionDelegate();
class Cat
{
public event ActionDelegate OnCry;
public event ActionDelegate OnCry1;
public void Cry()
{
Console.WriteLine("请输入0或着1");
int i = Convert.ToInt32(Console.ReadLine());
if (i == 0)
{
Console.WriteLine("猫叫了");
OnCry();
}
else
{
Console.WriteLine("猫大叫一声");
OnCry1();
}
}
}
class Mouse
{
public Mouse(Cat cat)
{
cat.OnCry += new ActionDelegate(Run);
cat.OnCry1 += new ActionDelegate(Run1);
}
public void Run()
{
Console.WriteLine("老鼠跑了");
}
public void Run1()
{
Console.WriteLine("小老鼠吓得发疯的跑了,米老鼠也吓跑了");
}
}
class Master
{
public Master(Cat cat)
{
cat.OnCry += new ActionDelegate(Week);
cat.OnCry1 += new ActionDelegate(Week);
}
public void Week()
{
Console.WriteLine("主人醒了");
}
}
class Program
{
static void Main(string[] args)
{
Cat cat = new Cat();
Mouse mouse = new Mouse(cat);
Master master = new Master(cat);
cat.Cry();
Console.ReadKey();
猫大叫一声,小老鼠吓的发疯的跑了,米老鼠也吓跑了,主人醒了
(方法、委托通过传参数来判断是普通叫,还是大叫)
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();