一菜鸟请教为何事件一定用委托,而不用函数?
     为何?

解决方案 »

  1.   

    应为委托是事件的基础...
    事件的类型就是委托.我们先定义一个委托(Class B):Public delegate void Mydel(object sender,EventArgs e)//看这个委托的参数和WinForms的控件事件的参数是不是一样的.在定义一个事件:public event Mydel EventMydel; //事件的类型是上面定义的委托;在定义一个事件处理方法:proteced void Mygod(object sender,EventArgs e)//事件处理方法和返回类型和参数和委托定义必须一致!!我们在实例化委托(把Mygod封装在Mydel委托里面)来注册EventMydel事件(class A):EventMydel += new Mydel(Mygod)//Class A就是订阅者通知订阅者(class A),发布类(class B)产生事件:EventMydel(this,e);//这里执行的是Mygod()方法;