数年前、.NETのデフォルトのイベント「ディスパッチャー」の実装を独自のプロセッサーでオーバーライドする方法を説明した本を読みました。
class foo {
public event EventHandler myEvent;
...
}
...
myFoo.myEvent += myBar1.EventHandler;
myFoo.myEvent += myBar2.EventHandler;
イベントが発生するたびに、myBar1ハンドラーとmyBar2ハンドラーの両方が呼び出されます。
私が思い出したように、このループのデフォルトの実装はリンクリストを使用し、リストを繰り返し処理して、EventHandlerデリゲートを順番に呼び出します。
私の質問は2つあります:
- 誰かが私が読んでいた本を知っていますか?
- なぜデフォルトの実装(本で答えられるかもしれない)をオーバーライドしたいのですか?
編集:私が参照していた本は確かにC#経由のジェフリー・リッチターのCLRでした