我想保证使用命名注册来统一解析构造函数参数,例如:
我有两种类型注册:
_container.RegisterType<IMyInterface, Implementation1>("implementation1");
_container.RegisterType<IMyInterface, Implementation2>("implementation2");
当unity使用以下构造函数解析类时:
public class Example
{
Example(IMyInterface args)
{
}
}
我应该如何指定必须使用“implementation2”解决的统一只在这种情况下
答案 0 :(得分:1)
您可以在Unity中配置类型注册,以使用以下内容解析特定命名类型的构造函数参数:
container.RegisterType<IExample, Example>(
new InjectionConstructor(new ResolvedParameter<IMyInterface>("implementation2")));