把方法放进委托中,然后判断需要执行哪个事件:

比如,有猫狗俩类,输入cat执行猫的方法,输入mouse执行老鼠的方法。

先写两个方法,猫和老鼠的

publicvoidCat(objectsender,eventArgse)

{

Console.WriteLine("执行猫的方法!");

}

publicvoidMouse(objectsender,EventArgse)

{

Console.WriteLine("执行老鼠的方法");

}

在类外面写一个委托

publicdeletevoidAnimalEventHandler(objectsender,EventArgse);

再写一个专门判断调用哪个事件的方法

publicclassAnimal

{

publiceventAnimalEventHandlercatHander;

publiceventAnimalEventHandlermouseHander;

publicvoidonInputAnimal(stringname)

{

if(name=="cat")

{

if(catHander!=null)

{

catHander(this,EventArgs.empty);

}

}

elseif(name=="mouse")

{

if(mouseHander!=null)

{

mouseHander(this,EventArgs.empty);

}

}

}

}

开始调用方法:

Animala=newAnimal();

a.catHander=newAnimalEventHander(Cat);

a.mouseHander=newAnimalEventHander(mouse);

a.oninput("catormouse");