另一位开发人员今天进行了这次对话:
我:依赖注入很酷,哈哈。
Dennis :当我需要一个DoStuff类的实例并且我唯一的构造函数是DoStuff(ISomeInterface interface1,ISomeInterface interface2)时,具体类型完全不同会发生什么?
我: ......
我们使用Unity作为首选容器。当我需要解析ISomeInterface时,我将如何注册具体类型可以是两种不同的类型?
答案 0 :(得分:3)
看一下ParameterOverride类。它允许您按名称指定参数:
container.Resolve<IDoStuff>(new ParameterOverrides<DoStuff> { { "interface1", new SomeInterfaceImpl() }, { "interface2", AnotherSomeInterfaceImpl() } });