2

我想保证统一使用命名注册来解析构造函数参数,例如:

我有两种类型的注册:

_container.RegisterType<IMyInterface, Implementation1>("implementation1");
_container.RegisterType<IMyInterface, Implementation2>("implementation2");

当统一使用以下构造函数解析一个类时:

public class Example
{
    Example(IMyInterface args)
    {     
    }
}

仅在这种情况下,我应该如何指定必须使用“implementation2”解决的统一

4

1 回答 1

1

您可以在 Unity 中配置类型注册,以使用以下方法将构造函数参数解析为特定命名类型:

container.RegisterType<IExample, Example>(
    new InjectionConstructor(new ResolvedParameter<IMyInterface>("implementation2")));
于 2013-06-12T18:56:07.463 回答