日期:2014-05-17  浏览次数:20790 次

C#中为什么要用委托?
请问C#中委托的作用,什么时候用委托?如果是类之间方法的调用,我把那个方法设成public不就可以了?
网上找到的我看不太懂,能用浅显点的方法告诉我么?谢谢大家~

------解决方案--------------------
引用:
Quote: 引用:

   // 步骤4,用event关键字定义事件对象
      private event MyEventHandler myevent;


   // 步骤5,用+=操作符将事件添加到队列中
                this.myevent += new MyEventHandler(myecls.MyEventFunc);

这就是事件的定义

但是,事件的话应该是发生了什么的时候触发的,貌似没看出来发生了什么,好像只是符合了 
if(myevent != null)
就触发了。

  this.myevent += new MyEventHandler(myecls.MyEventFunc);
是注册事件
发生了 就触发事件
RaiseEvent()
------解决方案--------------------
引用:
恩恩,我终于懂了~~~感谢大家~~~
最后问下,用event关键字定义事件对象,但是不用event貌似功能也一样的,那event有什么用?

事件是多播委托,这个在C#基础知识书籍中都会提到,根本没必要问。
声明为事件的好处是,可以在程序各个位置添加相互独立的事件处理函数,不用担心被其它人给覆盖掉。