使用相同接口的两个参数解析构造函数?

时间:2009-12-12 04:25:25

标签: dependency-injection unity-container

另一位开发人员今天进行了这次对话:

我:依赖注入很酷,哈哈。

Dennis :当我需要一个DoStuff类的实例并且我唯一的构造函数是DoStuff(ISomeInterface interface1,ISomeInterface interface2)时,具体类型完全不同会发生什么?

我: ......

我们使用Unity作为首选容器。当我需要解析ISomeInterface时,我将如何注册具体类型可以是两种不同的类型?

1 个答案:

答案 0 :(得分:3)

看一下ParameterOverride类。它允许您按名称指定参数:

   container.Resolve<IDoStuff>(new ParameterOverrides<DoStuff> { { "interface1", new SomeInterfaceImpl() }, { "interface2", AnotherSomeInterfaceImpl() } });