ninject绑定规则优先重叠规则?

时间:2013-06-22 18:25:05

标签: c# .net ninject

当我有两个Ninject绑定规则在范围上重叠时,我有两个问题,一个比另一个更具体。他们是:

  • 在构造对象时,Ninject会自动选择最具体的绑定规则吗?
  • 我是否必须在更一般的规则之前按照在绑定规则块中出现的顺序放置更具体的规则?

考虑以下两个规则:

// The more specific (constrained) rule that is 
// constrained to a particular class being constructued.

Bind<ISomeInterface>().To<SomeOtherClass>()
    .WhenInjectedInto(typeof(ParticularClassBeingConstructed));

// The more general rule for any ISomeInterface match.
Bind<ISomeInterface>().To<SomeClass>();

1 个答案:

答案 0 :(得分:2)

第一个绑定仅在注入ParticularClassBeingConstructed时适用,而第二个规则将在任何其他类型需要ISomeInterface时使用(类似于默认绑定,如果更具体的一个没有& #39; t存在)。

订购并不重要我不会想。