获取StructureMap 4.0中的现有容器
本文关键字:StructureMap 获取 | 更新日期: 2023-09-27 17:55:05
我有一个StructureMap 4.0的问题。在使用StructureMap 3.0时,我使用ObjectFactory来配置所有实例,并且很容易通过它自己的接口在解决方案中的任何地方获得实例。例如:
-
在global.cs中,我声明如下:初始化(x=> {x.For().Use();}
-
在另一个类中,例如Family.cs,很容易得到例如:var person = ObjectFactory.GetInstance();
然而,我在更新StructureMap到4.0后遇到了问题。它使用容器而不是ObjectFactory,我没有找到任何方法来获得现有的容器。我的意思是这个代码是错误的var person = container.GetInstance();
如果我在global.cs中声明Container为静态变量,那么我可以从Family.cs类中访问它。我不喜欢这样。我希望容器工作像ObjectFactory通过抓取现有的容器,在global.cs中声明,但我不知道如何做到这一点。
这样做的方法是将IContainer
作为类中的构造函数参数。StructureMap