Что приводит к тому, что свойство Tint объекта Ninject.Activation.IRequest имеет значение null

Вероятно, простой вопрос, но я не нашел ничего в документации или на SO, что прямо отвечает на него.

Я должен был работать с Ninject When(Func<IRequest, bool> condition) метод расширения в первый раз, и немного повесил трубку с исключениями нулевого объекта. Я понял, что IRequest.Target свойство иногда равно нулю, и я видел несколько других примеров, использующих When эта проверка на ноль Target также.

Мне любопытно, при каких условиях Ninject выполняет обратный вызов, не имея значения для Target, При создании привязки формы

Bind<T1>()
   .To<T2>
   .When(r => SomeTest(r.Target));

Я изначально и ошибочно предполагал, что всегда будет действительный Target типа T1 когда привязка исполнялась.

1 ответ

Решение

Для корневого объекта он пуст, потому что в этом случае нет цели. (kernel.Get<MyCompositionRoot>())

Другие вопросы по тегам