我想在代码中创建一个名为instance的Structuremap,而不需要配置文件
我希望能够像这样创建实例:
var namedInjector = ObjectFactory.GetNamedInstance("Other");
我无法在代码中定义这样的类型.我找到了这个示例,但它使用了以前版本的旧语法,并将命名实例定义为:
.ForRequestedType() .AddConcreteType (instanceName)
在最新的结构图版本中,没有.AddConcreteType(instanceName)方法,该方法采用实例名称.
我相信你需要这样的东西:
class MyRegistry : Registry { public MyRegistry() { this.ForRequestedType() .TheDefaultIsConcreteType () .AddInstances( x => { x.OfConcreteType ().WithName("abc"); }); } } ... ObjectFactory.Configure(x=>x.AddRegistry ()); IFoo test1 = ObjectFactory.GetInstance (); // Bar IFoo test2 = ObjectFactory.GetNamedInstance ("abc"); // Blap ... interface IFoo {} public class Bar : IFoo {} public class Blap : IFoo {}