1

有没有办法使用ninject的常规绑定来绑定到self和所有接口。

_container.Bind(x => x.From(_assemblyList)
                      .SelectAllClasses()
                      .BindAllInterfaces());

上面的代码完成了所有接口,但我似乎找不到在同一个语句中也绑定到 self 的方法。

4

1 回答 1

2

除非您明确关闭存根隐式自绑定(通过提供NinjectSettings覆盖) ,正如我在 2 年前我已经忘记的这个答案中所讨论的那样,自绑定是由 Ninject 在需要时动态生成的 [这很难看并且 AutoFac 不会陷入这种混乱......它还会导致一些实现混乱和测试用例,但据我所知,从 Ninject 用户的角度来看没有问题]。

( BindToSelf) 扩展方法与ToSelf正常Bind链中的 对称,即,它可以让您说“无论如何-我将进入重要的部分...”,然后覆盖例如作用域。

于 2013-05-15T14:38:57.890 回答