【发布时间】:2013-06-01 10:57:00
【问题描述】:
我正在使用 StructureMap 来满足我的 IoC 需求。
为了让事情变得可测试,我尽可能地传递IContainer 实例,通常作为构造函数参数。为方便起见,我希望能够回退到使用 ObjectFactory 作为无参数构造函数。
最简单的方法(我认为)是简单地获取IContainer ObjectFactory 类包装并将其传递给另一个构造函数。不幸的是,我找不到该实例公开的任何地方。
问题是:
有没有办法在ObjectFactory 中获取IContainer,以便我可以像处理用户提供的实例一样简单地处理它?
或者,有没有办法将ObjectFactory 的配置复制到一个新的Container 实例中?
示例:
我希望能够做到以下几点:
public class MyClass
{
public MyClass()
{
Container = ... // The ObjectFactory container instance.
}
public MyClass(IContainer container)
{
Container = container;
}
public IContainer Container { get; private set; }
}
【问题讨论】:
-
如果我的回答没有达到目标。能举个使用例子吗?
标签: c# structuremap objectfactory