Единственный способ - получить все экземпляры, используя kernel.GetAll<IController>()
. Ninject не имеет привязки набора привязок. Реализация определяется, когда экземпляры разрешаются путем внедрения или получения вызовов. Это потому, что Ninject допускает условные и неявные привязки.
Если вы настроили приложение MVC3, вы на самом деле не регистрируете свои контроллеры, поскольку Ninject будет определять, какой контроллер загружать и что вводить в него. Это достигается путем ленивого создания неявного связывания.
Самое близкое, что вы можете получить, это расширить StandardKernel
и получить доступ к защищенному набору привязок и найти все привязки, которые не являются условными. Если у вас есть все безусловные привязки, вы можете разорвать привязку, но я точно не помню, как они могут быть скрыты за классом StandardProvider
.
Что вы делаете, что вам нужно знать точную конфигурацию привязки для конкретного интерфейса?