Использование Autofac в качестве локатора служб

Я использую Autofac для обработки внедрения зависимостей в моем приложении. Однако у меня есть один компонент, который выполняет некоторую магию отражения во время выполнения, и я не знаю во время компиляции, какие зависимости ему понадобятся.

Обычно этот компонент просто ссылается на Контейнер напрямую и разрешает все, что он хочет. Однако класс, создающий экземпляр этого класса, не имеет ссылки на Контейнер.

Фактически, мой компонент зависит от Autofac. Я бы предпочел более слабую связь, но здесь это не вариант. Есть ли способ попросить (в аргументах конструктора или с помощью внедрения свойств или чего-то еще!) Autofac предоставить мне ссылку на контейнер в моем конструкторе? Или есть более чистый способ, чтобы Autofac предоставил мне волшебный объект локатора службы, который может разрешить что угодно?

15
задан David Pfeffer 25 August 2011 в 13:00
поделиться