0
에서 단일 인터페이스의 여러 구현을 해결 I가 다음과 같은 시나리오 : 클라이언트 측에서연합
public interface IFoo { }
public interface IFoo3 { }
public class Foo4 : IFoo3 { }
public class Foo1 : IFoo { }
public class Foo2 : IFoo
{
Foo2 (IFoo object1, IFoo3 object2)
}
:
IUnityContainer container = new UnityContainer();
container.RegisterType<IFoo, Foo1>("Foo1");
container.RegisterType<IFoo3, Foo4>();
container.RegisterType<IFoo, Foo2>("Foo2");
IFoo3 obj = container.Resolve<IFoo3>(); //Resolve 1
IFoo obj2 = container.Resolve<IFoo>(); //Resolve 2
2 (주석 참조) 생성자가 없다는 오류를 제공 결의 찾을 수 없습니다.
기본적으로 Foo2 클래스로 해결하고 싶습니다. 나는 심지어 매개 변수 오버라이드 (parameteroverrides)를 사용하여 시도해 보았지만 그것도 작동하지 않았다.
도와주세요.
실제 코드를 게시 할 수 있습니까? 'Foo2' 클래스의'Foo2' 메소드에 중괄호가 없습니다. –
'Foo2'는 데코레이터입니다. – Steven
가능한 복제본 [InjectionConstructor의 모든 매개 변수를 명시 적으로 지정하지 않고 [데코레이터 패턴을 Unity와 함께 사용하는 방법] (http://stackoverflow.com/questions/6109646/how-do-i-use-the-decorator-pattern- with-unity - 명시 적으로 지정하지 않고) – Steven