мс единство и несколько конструкторов - PullRequest
2 голосов
/ 01 ноября 2011

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

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

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

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

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

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

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

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

1 Ответ

2 голосов
/ 01 ноября 2011

Я думаю, вы захотите разрешить 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

...