2010-04-20 26 views
6

Hãy xem xét ví dụ sau:Windsor có thể tiêm danh sách các thành phần không?

public class Factory 
    { 
     private List<ISubFactory> subFactories; 

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

    public interface ISubFactory 
    { 

    } 

Tôi muốn Windsor để giải quyết các lớp Factory và đặt tất cả những người thực hiện của giao diện ISubFactory được đăng ký trong container (ResolveAll) vào "subFactories" tham số, Windsor có thể làm điều này?

Trả lời

8

Có, nó có thể. Nhưng trước tiên bạn phải chọn tham gia, bằng cách đăng ký ListResolver

container.Kernel.Resolver.AddSubResolver(new ListResolver(container.Kernel)); 
Các vấn đề liên quan