我遇到了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,但我不知道该怎么做。