2011-11-01 5 views
2

im пытается получить единство ms для ввода объекта в конструктор и у меня возникают проблемы из-за того, что класс имеет несколько конструкторов и одинаковое количество параметров. Я знаю, что вы можете аннотировать конструктор, но я не хочу этого делать. Как я могу получить единство использовать правильный конструкторуms единство и несколько конструкторов

мои Конструкторы вот так: -

public JobsHandler(ICentralRepositoryContainer context) 
    public JobsHandler(ICentralRepositoryLifeTimehelper centralRepositoryLifeTimehelper) 

и я использовал код, я нашел: -

uContainer.RegisterType<ICentralRepositoryContainer, Entities>().Configure<InjectedMembers>(). 
      ConfigureInjectionFor<JobsHandler>(new InjectionConstructor()); 

но в получении

Тип CentralRepository.BusinessLogic.JobsHandler не имеет конструктора , который принимает t he parameters()

Возможно, это связано с тем, что я не указал параметры в объекте injectionconstructor. Правильно ли я делаю это?

ответ

2

Я думаю, что вы хотите разрешить ICentralRepositoryContainer и использовать его в InjectionConstructor

uContainer.RegisterType<ICentralRepositoryContainer, Entities>().Configure<InjectedMembers>().ConfigureInjectionFor<JobsHandler>(
    new InjectionConstructor(new ResolvedParameter(typeof(ICentralRepositoryContainer))); 

Или зарегистрировать обработчик рабочих мест при задании конструктора.

uContainer.RegisterType<ICentralRepositoryContainer, Entities>(); 
uContainer.RegisterType<JobsHandler>(new InjectionConstructor(new ResolvedParameter(typeof(ICentralRepositoryContainer)))); 

Смотрите эту ссылку для более полного примера выше:

http://msdn.microsoft.com/en-us/library/ff650036.aspx

+0

, что не работает. ConfigureInjectionFor не является членом контейнера –

+0

Мои извинения. Я имел в виду использование метода RegisterType. Я применил вышеизложенное и добавил пример, используя ваш оригинальный метод. P.S. Я не уверен на 100%, если это будет работать, поскольку я не могу проверить его в настоящее время. Но я думаю, что это примерно то, что вам нужно сделать. – Balthy

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