Как получить, если объект уже найден в Inject - PullRequest
2 голосов
/ 02 июня 2010

Можно ли узнать, что конкретная зависимость уже была удовлетворена ninject kernel? Чтобы было ясно:

Предположим, у нас есть этот модуль:

Bind<IA>().To<A>();
Bind<IB>().To<B>();

И какой-нибудь "клиентский" код:

var a = kernel.Get<IA>();

// how to get here "true" for assumption: "IA was requested (once)"
// and "false" for: "IB was not requested ever"

Ответы [ 2 ]

1 голос
/ 02 июня 2010

Вы можете использовать .Before * и .After * в плавных привязках, чтобы подключить вызов к чему-либо, чтобы пометить его как использованное. Или вы можете посмотреть на ловушки IDisposable (см. Тесты в исходной загрузке).

Хорошая справочная информация есть и в http://kohari.org/2009/03/06/cache-and-collect-lifecycle-management-in-ninject-20/

0 голосов
...