私の現在の状況は次のようになります。
これらの2つのデリゲートを別のファイルに入れています。
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
inOtherEvent
はであるためOtherEventHandler
、基本クラスはそれを受け入れることができません。基本クラスは。のみを受け入れますEventHandler
。
私の意図は、「汎用」デリゲートを使用して、からメソッドを継承するときにOtherEvent
、クラスフィールドの親とは異なるパラメーターを持つ独自のタイプのデリゲートを柔軟に使用できるようにすることです。Event
OtherEvent
handler
私の意図を達成するために私は何ができますか?