Как передать UnityContainer в качестве параметра для регистрации в XML-файле конфигурации Unity IOC - PullRequest
0 голосов
/ 03 августа 2011

У меня есть реализация фабричного интерфейса, который использует контейнер IOC для создания своих объектов.

Контейнер является автоматическим свойством на фабрике, и в идеале я хотел бы внедрить это свойство в тот же контейнер, где регистрируется фабрика.

Для ясности я описал то, что хотелэто будет выглядеть ниже.

<container name="MyContainer">
    <register type="IControllerFactory" mapTo="UnityControllerFactory">        
        <property name="UnityContainer" value="MyContainer" />
    </register>
</container>    

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

Есть ли способ сделать это?

1 Ответ

3 голосов
/ 03 августа 2011

IUnityContainer зарегистрирован по умолчанию сам по себе. Вы можете просто настроить свой конструктор так:

public UnityControllerFactory(IUnityContainer unityContainer) 
{
   this.unityContainer = unityContainer;
}

Никаких дополнительных настроек не требуется .... зависимость будет устранена без проблем.

...