それがC#で可能かどうかはわかりませんが、強い型の「sender」引数を持つ抽象クラスでイベントを発生させたいと思います。
私のコードがあります
abstract class Base
{
public degate void MyDelegate(Base sender, object arg);
public event MyDelegate SomeEvent;
protected void RaiseSomeEvent(object arg)
{
if (SomeEvent != null)
SomeEvent(this, arg)
}
}
class Derived : Base
{
// ?
}
var obj = new Derived();
obj += EventHandler;
public void EventHandler(Derived sender, object arg)
{
}
たとえば、generic where句を操作することでそれは可能ですか?