Вероятно, простой вопрос, но я ничего не нашел в документации или на SO, который непосредственно отвечает на него.Что приводит к тому, что свойство Ninject.Activation.IRequest Target имеет значение null
Мне приходилось работать с методом расширения Ninject When(Func<IRequest, bool> condition)
в первый раз и зависеть от бит с исключениями из нулевого объекта. Я понял, что свойство IRequest.Target
иногда является нулевым, и я видел некоторые otherexamples с использованием When
, которые также проверяют нуль Target
.
Мне интересны условия, при которых Ninject выполняет обратный вызов без значения для Target
. При создании привязки формы
Bind<T1>()
.To<T2>
.When(r => SomeTest(r.Target));
я изначально ошибочно предположил, что всегда будет действительным Target
типа T1
когда связывание выполняется.
Значит ли это, что если тип 'T1' is * only * присутствует как аргумент конструктора, то' Target' не будет null? Иначе говоря, если я столкнулся с нулевой мишенью, это обязательно означает, что есть некоторый бит-код, который запрашивает привязку напрямую, например. 'var x = kernel.Get()'? –
Lucas