Я работаю с StructureMap для своих нужд IoC.
Для удобства тестирования я передаю IContainer
экземпляров везде, где это возможно, обычно в качестве параметров конструктора. Для удобства я бы хотел иметь возможность использовать ObjectFactory
для конструктора без параметров.
Самый простой способ (я думал) сделать это - просто получить класс IContainer
класса ObjectFactory
и передать его другому конструктору. К сожалению, я нигде не могу найти этот экземпляр публично раскрытым.
Вопрос:
Есть ли способ получить IContainer
в ObjectFactory
, чтобы я мог обрабатывать его так же просто, как предоставленный пользователем экземпляр?
В качестве альтернативы, есть ли способ скопировать конфигурацию ObjectFactory
в новый экземпляр Container
?
* * Пример тысячи двадцать-одина: * ** 1023 тысячу двадцать две *
Я бы хотел сделать следующее:
public class MyClass
{
public MyClass()
{
Container = ... // The ObjectFactory container instance.
}
public MyClass(IContainer container)
{
Container = container;
}
public IContainer Container { get; private set; }
}