Несколько лет назад я прочитал книгу, в которой рассказывалось, как можно переопределить реализацию диспетчера событий по умолчанию в .NET с помощью собственного процессора.
class foo {
public event EventHandler myEvent;
...
}
...
myFoo.myEvent += myBar1.EventHandler;
myFoo.myEvent += myBar2.EventHandler;
Каждый раз, когда происходит событие, будут вызываться как обработчики myBar1, так и myBar2.
Насколько я помню, реализация этого цикла по умолчанию использует связанный список, просто перебирает список и вызывает делегатов EventHandler по порядку.
У меня вопрос в два раза:
- Кто-то знает, какую книгу я читал?
- Почему вы хотите переопределить реализацию по умолчанию (на которую можно ответить в книге)?
Edit: книга, на которую я ссылался, действительно была CLR Джеффри Рихтера через C #