委托经典面试题
逻辑关系:猫叫一声老鼠就会跑,人会醒
(1)要考虑连动性
(2)要考虑扩展性
using System;
namespace Cat
{
class Cat
{
public delegate void Done();
public event Done Miao;
public void Shout()
{
Console.WriteLine("猫叫了~");
Miao();
}
}
class Mouse
{
public void Run()
{
Console.WriteLine("老鼠跑了~");
}
}
class Person
{
public void WakeUp()
{
Console.WriteLine("主人醒了");
}
}
class Program
{
static void Main(string[] args)
{
Cat Tom = new Cat();
Mouse Jerry = new Mouse();
Person Kivon=new Person();
Tom.Miao+=new Cat.Done(Jerry.Run);
Tom.Miao+=new Cat.Done(Kivon.WakeUp);
Tom.Shout();
}
}
}