2010-10-21 2 views
4

Я использую MVVM свет и настроить связывание следующим образом:Ninject впрыснуть добавить элемент в коллекции, когда я создаю коллекцию

class TestModule:NinjectModule 
{ 
    public override void Load() 
    { 
     Bind<ICollection<Element>>().To<Collection<Element>>(); 
     Bind<Element>().ToSelf(); 
    } 
} 

Когда я пытаюсь получить ICollection я получаю коллекцию ONE элемент. Я ожидаю коллекцию исключений.

ответ

5

Это ответ на вопрос Ninject mailing list.

Ожидается такое поведение. Когда коллекция будет введена, она найдет все привязки , которые будут соответствовать общему параметру и добавят их в коллекцию, в которую вводится . Если вы удалите привязку к элементу, будет введена пустая коллекция .

Другой example is given, показывающий, что можно сделать на основе этого поведения.

+0

Это бесит, нелогично и совершенно не полезно! Кажется, нет очевидного способа заставить Ninject вводить пустые коллекции в тип. Я не ** хочу ** фиктивный объект в коллекции! Просто делай, как тебе говорят, Ниндек! –

Смежные вопросы