读书人

C#中有关委托代理delegate,该怎么解决

发布时间: 2012-06-04 14:48:03 作者: rapoo

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 内部,当然也可以新开文件单独写这些。

读书人网 >C#

热点推荐