使用命名映射类型来解析Unity的构造函数参数

时间:2013-06-12 17:46:43

标签: inversion-of-control unity-container ioc-container

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

我有两种类型注册:

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

当unity使用以下构造函数解析类时:

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

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

1 个答案:

答案 0 :(得分:1)

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

container.RegisterType<IExample, Example>(
    new InjectionConstructor(new ResolvedParameter<IMyInterface>("implementation2")));