2010-04-20 7 views
0

성 (castle)을 설정하여 성을 인스턴스화하고자하는 클래스가 있습니다.성 윈저 컨테이너의 배선 속성이 올바르지 않습니다.

< component id="mymappings" type="MyMappings, MyAssmebly" > 
    < parameters> 
     < firstMapping>${anothercomponentIDForCompomentOftypeMapping}< /firstMapping> 
    < /parameters> 
< /component> 

내가 직면하고 문제는 그 completly 매개 변수의 이름을 무시하고, 동일한 유형의 모든 속성에 동일한 값을 할당입니다 : 내 구성에서

public class MyMappings : IMappings 
{ 
    Mapping FirstMapping { get; set; } 
    Mapping SecondMapping { get; set; } 
    OtherType ThirdMapping { get; set; } 
    OtherType FourthMapping { get; set; } 
    Mapping FifthMapping { get; set; } 
    OtherType SixMapping { get; set; } 
} 

난 다음 있습니다. 이 속성은 선택 사항이며, 그 중 하나의 값을 초기화하려고합니다.

감사합니다,

+0

에만 유형에 따라 –

답변

0

당신이 컨테이너에 등록 된 유형 매핑 또는 OtherType와 구성 요소가있는 경우, 윈저은 당신의 선택의 종속을 주입합니다. XML 구성에서 수행 한 작업은 서비스 재정의입니다. 즉, 특정 매개 변수에 대해 특정 구성 요소를 선택했지만 다른 매개 변수가 삽입되지 않는다는 의미는 아닙니다.

일부 종속 종속성을 피하려면 this question을 참조하십시오.

+0

나는 여전히 다른 옵션 의존성이 구성에서 주사로 원하는 코드 블록을 포맷,하지만 제발 .. 구성 매개 변수의 이름이 일치하는 경우에만 .. 일부 응용 프로그램 것입니다 단지 초기화하기 하나 다른 인스턴스는 더 많이 초기화합니다 ... 구성에서 명시 적으로 초기화되지 않은 모든 속성은 null로 유지되어야합니다. – Damian