可能是一个简单的问题,但我没有在文档中找到任何内容,也没有在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
。
答案 0 :(得分:2)
根对象为空,因为在这种情况下没有目标。 (kernel.Get<MyCompositionRoot>()
)