编程语言
首页 > 编程语言> > c# – 在StructureMap 4.0中获取现有容器

c# – 在StructureMap 4.0中获取现有容器

作者:互联网

我遇到了StructureMap 4.0的问题.使用StructureMap 3.0时,我使用ObjectFactory来配置所有实例,并且很容易通过解决方案内部的任何接口获取实例.例如:

>在global.cs,我声明如下:ObjectFactory.Initialize(x
=&GT {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