Ninject: разрешить зависимость только по имени - PullRequest
6 голосов
/ 14 июня 2011

У меня есть шаблон привязки WPF view \ view-model, где я хотел бы разрешать зависимости от Ninject только по имени, а не по типу или типу + имени.Я хочу связать мои модели представлений по имени с Ninject, а затем обратиться к моделям представлений в представлениях с этим именем для внедрения представления (через Caliburn.Micro).

Я понимаю, что на практике несколько типов могутбыть зарегистрированным под тем же именем, но я хочу шаблон условного типа и хочу жить с этим делом.Мне нужно разрешить только «объект» для работы привязки WPF.

Например, есть ли способ, которым я могу:

  • Получить все привязки независимо от того, какие типы они зарегистрированыпротив.
  • Зонд для привязки с соответствующим именем.
  • Создать экземпляр через привязку.

1 Ответ

13 голосов
/ 14 июня 2011

Единственный способ - связать их как объект

kernel.Bind<object>().To<MyClass>().Named("A")
kernel.Get<object>("A");
...