事件和委托
把方法放进 委托 中 ,然后判断需要执行哪个事件:
比如,有猫狗俩类,输入cat执行猫的方法,输入mouse执行老鼠的方法。
先写两个方法,猫和老鼠的
public void Cat(object sender,eventArgs e)
{
Console.WriteLine("执行猫的方法!");
}
public void Mouse(object sender,EventArgs e)
{
Console.WriteLine("执行老鼠的方法");
}
在类外面写一个委托
public delete void AnimalEventHandler(object sender,EventArgs e);
再写一个专门判断调用哪个事件的方法
public class Animal
{
public event AnimalEventHandler catHander;
public event AnimalEventHandler mouseHander;
public void onInputAnimal(string name)
{
if(name=="cat")
{
if(catHander!=null)
{
catHander(this,EventArgs.empty);
}
}
else if(name=="mouse")
{
if(mouseHander!=null)
{
mouseHander(this,EventArgs.empty);
}
}
}
}
开始调用方法 :
Animal a=new Animal();
a.catHander=new AnimalEventHander(Cat);
a.mouseHander=new AnimalEventHander(mouse);
a.oninput("cat or mouse");