我現在的情況是這樣的:我如何擁有一個「通用」代表?
我有一個單獨的文件這兩個代表:
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
你想做什麼?也許還有其他的方法來存檔你想要的。 –