두 개의 IServiceA 및 IServiceB 서비스가 있습니다. IServiceB의 구체적인 구현은 다음과 같습니다 Unity Register 서비스 자체를 사용하는 생성자에 대한 유형입니다.
public class ServiceB : IServiceB {
public ServiceB(string path, IServiceA serviceA) { ... }
}
그래서 나는 문자열과 ServiceA에 전달해야합니다.
나는 내가 어떻게 그렇게 붙어 있나. 나는 실제로 ServiceA를 인스턴스화하고 모든 ServiceB 년대에 하나의 인스턴스를 등록하고있어 같은
var path = _config.Path;
container.RegisterType<IServiceA, ServiceA>();
container.RegisterType<IServiceB, ServiceB>(
new InjectionConstructor(path, container.Resolve<IServiceA>());
이 분명히 잘못이다 : 지금이 권리가 있습니다.
Unity가 항상 "신선한"ServiceA를 해결하도록 어떻게 알 수 있습니까? RegisterType에서 IServiceA를 제거하려고 시도했지만 예외가 발생 했으므로 이므로 올바른 것은 ctor(string)
입니다.