日期:2014-05-18  浏览次数:20777 次

C#中有关委托代理delegate
我今天反编译别人的组件,发现了有好些委托代理的声明(定义)没有放在类中,而是直接挂在命名空间下,同类是一个层次的。
查找之后发现,定义的委托在好些类中都有用到。 

请问,此种DELEGATE是如何定义的? 不写在具体的某个类中,那应该写在哪? 谢谢!!!

------解决方案--------------------
和写在类中是一样的定义
------解决方案--------------------
类定义在哪里,DELEGATE就定义在哪里.换句话讲,将DELEGATE当作一个特殊的类就是了.
------解决方案--------------------
public delegate void TestEventHandler(object sender);
public event TestEventHandler testEvent;


obj.testEvent+= new testobj.TestEventHandler(obj);

使用的是 delegate 生成的TestEventHandler的对象来绑定事件
------解决方案--------------------
delegate 跟 class,struct 平级的,依据这个 delegate 的使用范围,如果是某个 class 事件用的,就写在 class 外面,但跟 class 同一文件里,如果是 class 内部的比如线程委托,就写在 class 内部,当然也可以新开文件单独写这些。
------解决方案--------------------
探讨

delegate 跟 class,struct 平级的,依据这个 delegate 的使用范围,如果是某个 class 事件用的,就写在 class 外面,但跟 class 同一文件里,如果是 class 内部的比如线程委托,就写在 class 内部,当然也可以新开文件单独写这些。