【发布时间】:2015-12-19 05:31:18
【问题描述】:
我有两个类(具有类似名称的接口):
OuterService(IInnerService innerService)
InnerService(string configurationKey)
在我的 NinjectMvc3 类中,我有一个 IInnerService 接口的绑定:
kernel.Bind<IInnerService>.ToMethod(c => new InnerService("myConfigurationKey")))
现在,我只是在 IOuterService 绑定中复制 InnerService 的构造函数实例:
kernel.Bind<IOuterService>.ToMethod(c => new OuterService(new InnerService("myConfigurationKey")))
有什么方法可以通过使用 IInnerService 接口进行嵌套/级联注入来避免第二个 InnerService 构造函数?
// I realize this isn't valid, but it may better clarify my intent:
kernel.Bind<IOuterService>.ToMethod(c => new OuterService(IInnerService))
【问题讨论】:
标签: c# dependency-injection ninject ninject.web.mvc