我现在的情况是这样的:我如何拥有一个“通用”代表?
我有一个单独的文件这两个代表:
public delegate void EventHandler(Object obj, EventArgs e);
public delegate void OtherEventHandler(Object obj, OtherEventArgs e);
我有一个Event
类是这样的:
class Event {
EventHandler _handler;
public Event(EventHandler handler) {
_handler = handler;
}
}
我有另一个继承Event
这种方式的类:
class OtherEvent : Event {
OtherEventHandler _handler;
public OtherEvent (OtherEventHandler handler) : base(handler) {
_handler = handler;
}
}
这是发生问题的地方。错误与base(handler)
上的部分有关。因为handler
在OtherEvent
是OtherEventHandler
,所以基类不能接受它;基类只接受EventHandler
。
我的目的是有一个“通用”的代表,这样当OtherEvent
继承Event
方法,OtherEvent
仍然使用它自己类型的委托不同的参数从其父为handler
类领域的灵活性。
我该怎么做才能达到我的目的?
'OtherEventArgs'是否继承自'EventArgs'? – Rawling
@Rawling,是的,'OtherEventArgs'继承自'EventArgs'。 – Carven
你想做什么?也许还有其他的方法来存档你想要的。 –