호출중인 작업의 매개 변수 값에 의존하는 종속성을 해결하려고합니다.구조체 맵의 매개 변수에 따라 구체적인 유형을 확인하십시오.
나는 나는 또한 나의 용기 내 ValueProvider 두 가지 구체적인 유형의 등록이 WCF 서비스를
public class InformationService : IInformationService
{
private readonly IValueProvider _valueProvider;
public InformationService(IValueProvider valueProvider)
{
_valueProvider= valueProvider;
}
public CompanyReportResponse CompanyReport(string option)
{
_valueProvider.Execute(option);
}
}
있습니다.
Registry.For<IValueProvider>().Add<ValueProvider1>().Named("No1");
Registry.For<IValueProvider>().Add<ValueProvider2>().Named("No2");
옵션 값에 따라 다른 값 제공 업체를 사용할 수 있습니까?
즉, 옵션은 "value1"
다음 _valueProvider
콘크리트 유형 ValueProvider1
를 사용하고 옵션 "value2
때 "다음 _valueProvider
콘크리트 유형 ValueProvider2
을 사용합니다.
이것은 InformationService에서 개인 메소드를 처음 작성한 이후 처음으로 솔루션을 생각한 것과 매우 흡사합니다. 이제는 별도의 팩토리를 두 번째 솔루션으로 사용하도록 변경했지만 컨테이너에서 정확한 콘크리트 유형을 검색하기 위해'GetInstance'를 사용합니다. – Per