事件和委托
把方法放进委托中,然后判断需要执行哪个事件:
比如,有猫狗俩类,输入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");
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。