仮想メソッドにデリゲートするプライベート メソッドを登録するのではなく、仮想メソッドをイベント ハンドラーとして登録することに問題はありますか? 私はオプション 1 (これは機能しているようです) を好みますが、後で噛まれないようにしたいと考えています。
オプション1
public class Controller1
{
public Controller1(EventNotifier eventNotifier)
{
eventNotifier.ImportantEvent += OnEventNotifierImportantEvent;
}
protected virtual void OnEventNotifierImportantEvent(object sender, EventArgs e)
{
}
}
オプション 2
public class Controller2
{
public Controller2(EventNotifier eventNotifier)
{
eventNotifier.ImportantEvent += eventNotifier_OnImportantEvent;
}
private void eventNotifier_OnImportantEvent(object sender, EventArgs eventArgs)
{
OnEventNotifierImportantEvent(sender, eventArgs);
}
protected virtual void OnEventNotifierImportantEvent(object sender, EventArgs e)
{
}
}