在接口中声明EventHandler(您已定义)的子类的代码语法是什么?
我在委托声明中创建了EventHandler子类MyEventHandler,但是你不能在接口中声明委托......
当我要求Visual Studio提取接口时,它将IMyClassName中的EventHandler称为MyClassName.MyEventHandler,这显然会对类型耦合造成严重破坏.
我假设有一种简单的方法可以做到这一点.我是否必须在单独的文件中显式声明我的事件处理程序?
好吧,你需要定义args并可能委托某个地方.你不需要第二个文件,但我可能会推荐它......但是这些类可能不应该嵌套,如果这是原始问题.
建议使用标准的"sender,args"模式; 有两种cmmon方法:
1:分别声明一个event-args类,并EventHandler
在界面上使用:
public class MySpecialEventArgs : EventArgs {...} ... EventHandlerMyEvent;
2:分别声明一个event-args类和委托类型:
public class MySpecialEventArgs : EventArgs {...} public delegate void MySpecialEventHandler(object sender, MySpecialEventArgs args); .... event MySpecialEventHandler MyEvent;
假设C#2.0或更高版本......
public class MyEventArgs: EventArgs { // ... your event args properties and methods here... } public interface IMyInterface { event EventHandlerMyEvent; }