1

Я пытаюсь создать экземпляр контроллера вручную, но она имеет некоторые зависимости от единицы, и теперь я просто решение всех из них автоматически и передавать их в контроллер конструктораUnity - Как создать контроллер с зависимостями вручную?

var c = new MyController(container.Resolve<IInterface1>(), 
         container.Resolve<IInterface2>()) 

Можно ли создать экземпляр контроллера через Unity, чтобы автоматически получить все зависимости?

+0

Почему «container.Resolve ()' не работает для вас? Зачем вам нужно создавать контроллер вручную? – Steven

ответ

1

Вы можете использовать InjectionConstructor, чтобы архивировать это. Например:

container.RegisterType<IInterface1, Implementation1>(); 
container.RegisterType<IInterface2, Implementation2>(); 

container.RegisterType<MyController>(new InjectionConstructor(
    container.Resolve<IInterface1>(), 
    container.Resolve<IInterface2>())); 

Затем объединить этот подход с ControllerFactory.

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