PRISM을 기반으로하는 MVVM 응용 프로그램을 작성하고 있습니다. 그 당시 PRISM을 배웠고 UnityContainer에 대한 기술적 인 질문이 있습니다.특정 인스턴스에 종속성 주입 사용 - MS Unity
container.Resolve
을 사용하는 동안 특정 인스턴스를 삽입 할 수있는 방법이 있습니까?
예를 들어 설명하려고합니다. SomeClass
의 생성자는 입력 매개 변수로 IExample
을 얻을
var container = new UnityContainer();
container
.RegisterType(typeof(ISomeClass), typeof(SomeClass))
// with string
container
.RegisterType(typeof(IExample), typeof(Example), "SpecificExampleInstance")
// without string
container
.RegisterType(typeof(IExample), typeof(Example));
:
다음 유형을 등록 할 수 있습니다. "SpecificExampleInstance"(위의 코드 라인 3에 등록 된 것)가 아닌 IExample
- -
는 지금은 SomeClass
생성자 IExample
의 인스턴스에 주입하는 SomeClass
의 인스턴스를 해결하지만, "용기"를 말해 원하는 문자열없이 (위 코드의 4 번 줄에서 문자열없이 등록)
제 질문에 대한 명확한 답변을 드리겠습니다. 제게 알려 주시면 제형을 변경하려고 노력하겠습니다.
public class SomeClass
{
public SomeClass([Dependency("SpecificExampleInstance")] IExample myExample)
{
// work with the service here
}
}
: