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

比如,有猫狗俩类,输入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");