2013-04-21 2 views
0

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 
    } 
} 
:

답변