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과 결합하십시오.