c# – 在StructureMap 4.0中获取现有容器
作者:互联网
我遇到了StructureMap 4.0的问题.使用StructureMap 3.0时,我使用ObjectFactory来配置所有实例,并且很容易通过解决方案内部的任何接口获取实例.例如:
>在global.cs,我声明如下:ObjectFactory.Initialize(x
=> {x.For().使用(); }
>在另一个类,例如Family.cs,它很容易获得
Peson的一个例子:
var person = ObjectFactory.GetInstance();
但是,在将StructureMap更新为4.0后,我遇到了问题.它使用Container而不是ObjectFactory,我找不到任何方法来获取现有容器.我的意思是这段代码是错误的
var person = container.GetInstance();
如果我在Global.cs中将Container声明为静态变量,那么我可以从Family.cs类中访问它.我不喜欢这样.我希望Container通过获取在global.cs中声明的现有容器来像ObjectFactory一样工作,但我不知道该怎么做.
解决方法:
这样做的方法是将IContainer作为类中的构造函数参数.有关详细信息,请参阅此内容StructureMap
标签:c,net,structuremap,objectfactory 来源: https://codeday.me/bug/20190623/1268416.html