是什么原因导致Ninject.Activation.IRequest Target属性为null

时间:2013-06-17 16:03:27

标签: ninject ninject-3 contextual-binding

可能是一个简单的问题,但我没有在文档中找到任何内容,也没有在SO上直接回答它。

我第一次使用Ninject When(Func<IRequest, bool> condition)扩展方法,并且因为空对象异常而挂了一会儿。我发现IRequest.Target属性有时为空,我看到一些other examples使用When来检查空Target。< / p>

我很好奇Ninject在没有Target值的情况下执行回调的条件。创建表单

的绑定时
Bind<T1>()
   .To<T2>
   .When(r => SomeTest(r.Target));

我最初并且错误地认为在执行绑定时始终存在Target类型的T1

1 个答案:

答案 0 :(得分:2)

根对象为空,因为在这种情况下没有目标。 (kernel.Get<MyCompositionRoot>()