Обновлено в ответ на опубликованный проект
Текущий дизайн в предоставленном решении ограничивает издателя (ей) быть в сборке (так как загрузчик жестко кодирует подключение делегата)что только добавляет сложности без пользы.Если у вас есть издатели за пределами сборки, в которой находится наблюдатель, ваш текущий шаблон потребует загрузчика в каждой сборке, содержащей издателя.Это просто перемещение линий из одного места в менее очевидное место, и его будет сложнее поддерживать.
Я бы порекомендовал взглянуть на интерфейс IObserver и пример реализации, приведенный там: http://msdn.microsoft.com/en-us/library/dd783449.aspx
Предыдущий ответ:
Если вы просто используете классический синглтон в качестве своего наблюдателя и вам нужно сослаться на указанный синглтон, чтобы подключить ваши события, акт ссылки на синглтон обеспечитего создание.
Кажется ненужным указывать, что наблюдатель должен быть создан до того, как будет ссылаться на любой класс в DLL.Вам нужно только гарантировать, что наблюдатель создан до того, как какой-либо издатель поднимет его событие.
Лучшим решением будет использование контейнера IOC для создания одиночного экземпляра наблюдателя и автоматического подключения события длявсе издатели.