我有一个带有一些注册实例的容器,例如:

container.RegisterInstance(typeof(Interface1), "Mapping1", new Class1("1"))
         .RegisterInstance(typeof(Interface1), "Mapping1", new Class1("2"))
         .RegisterInstance(typeof(Interface1), "Mapping2", new Class1("3"))
         .RegisterInstance(typeof(Interface1), "Mapping2", new Class1("4"));


那么,如何获取所有名为Interface1类型的实例,例如“ Mapping1”?
调用代码将如下所示:

var instances = container.ResolveAll<Interface1>("Mapping1");


感谢您的回答。

最佳答案

我不确定像这样注册实例是否会产生所需的结果。 RegisterInstance将一个对象注册为一个单例,因此根据定义,您不能有多个具有相同名称的单例。在上面提供的示例中,container.ResolveAll()将仅返回2个实例。

09-05 10:28