2010-04-20 4 views
6

이 예를 생각해윈저는 부품 목록을 주입 할 수 있습니까?

public class Factory 
    { 
     private List<ISubFactory> subFactories; 

     public Factory(List<ISubFactory> subFactories) 
     { 
      this.subFactories = subFactories; 
     } 
    } 

    public interface ISubFactory 
    { 

    } 

내가 윈저 공장 클래스를 해결하고 "subFactories"매개 변수로 컨테이너 (ResolveAll)에 등록 된 ISubFactory 인터페이스의 모든 구현을 데려 가고 싶다는를, 윈저는이 작업을 수행 할 수 있습니까?

답변

8

예, 가능합니다. 하지만 ListResolver를 등록하여 먼저 선택해야합니다.

container.Kernel.Resolver.AddSubResolver(new ListResolver(container.Kernel)); 
관련 문제