나는 오버로드 된 생성자가있는 서비스 클래스가 있습니다. 한 생성자는 5 개 매개 변수를 가지고 있으며, 다른 하나는IoC.Resolve를 사용할 때 클래스의 조건부 생성이 가능합니까?
var service = IoC.Resolve<IService>();
내가 테스트를하고이 테스트의 결과에 따라 원하는 특정 생성자를 사용하여 서비스를 해결 내가 전화하기 전에 4.
을 가지고 있습니다. 즉,
bool testPassed = CheckCertainConditions();
if (testPassed)
{
//Resolve service using 5 paramater constructor
}
else
{
//Resolve service using 4 parameter constructor
//If I use 5 parameter constructor under these conditions I will have epic fail.
}
사용할 수있는 방법을 지정할 수 있습니까? 당신은 본질적으로 은 '당신이 하나를 사용하는 경우 정말 상관 없어 나 다른' 것을 모든 호출 말하는 있기 때문에 DI에 관해서
'DynamicParameters'를 사용하는 것이 가능하지만 사용하기 전에 먼저 왜 필요합니까?그것은 당신의 코드에서 디자인 결함처럼 들린다. –