IoC のニーズに合わせて StructureMap を使用しています。
快適にテストできるようにするためIContainerに、通常はコンストラクターのパラメーターとして、可能な限りインスタンスを渡します。ObjectFactory便宜上、パラメーターなしのコンストラクターの使用にフォールバックできるようにしたいと考えています。
これを行う最も簡単な方法 (私が考えた) は、単純にクラス ラップを取得しIContainer、ObjectFactoryそれを他のコンストラクターに渡すことです。残念ながら、このインスタンスが公開されている場所を見つけることができません。
質問は:
ユーザー提供のインスタンスと同じくらい簡単に処理できるように、IContainer内部を取得する方法はありますか?ObjectFactory
ObjectFactoryまたは、の構成を新しいContainerインスタンスに複製する方法はありますか?
例:
私は次のことができるようにしたいと思います:
public class MyClass
{
public MyClass()
{
Container = ... // The ObjectFactory container instance.
}
public MyClass(IContainer container)
{
Container = container;
}
public IContainer Container { get; private set; }
}