Вероятно, простой вопрос, но я не нашел ни в документации, ни на SO ничего, что прямо на него отвечало бы.
Мне пришлось работать с методом расширения Ninject When(Func<IRequest, bool> condition)
в первый раз, и я немного застрял с исключениями нулевого объекта. Я понял, что свойство IRequest.Target
иногда имеет значение null, и я видел несколько другое примеры с использованием When
, которые также проверяют значение null Target
.
Мне любопытны условия, при которых Ninject выполняет обратный вызов, не имея значения для Target
. При создании привязки формы
Bind<T1>()
.To<T2>
.When(r => SomeTest(r.Target));
Первоначально я ошибочно предполагал, что всегда будет допустимый Target
типа T1
при выполнении привязки.