2017-04-06 3 views
0

내 문제는 :
내가 실행 시간에 필요한 기반으로 내 ViewModel에 등록 된 유형을 해결해야합니다.어떻게 글로벌 UnityContainer를 만들고 모든 ViewModels에 액세스합니까?

같은 ICalculation 인터페이스를 상속 한 여러 계산 클래스가 있다고 해봅시다.

평균값 속성이 설정되면 조건에 따라 등록 된 유형을 해결해야합니다.

조건에 따라이 문제를 해결하려면 내 ViewModel에 글로벌 컨테이너 개체가 필요합니다.

Microsoft의 Unity를 사용하고 있습니다.

+0

지금까지 작성한 코드를 표시하십시오. –

+0

내 코드 tom.it이 내 사무실의 데스크톱에 있습니다. –

+0

일부 강조 표시를 추가하고 일부 문법을 향상 시켰습니다. – zx485

답변

0

실제로 글로벌 컨테이너가 필요하지 않습니다. 자신이 만든 인터페이스로 자신의 컨테이너를 등록 할 수 있습니다. 그런 다음 생성자 삽입을 사용할 수 있으며 어디서나 컨테이너를 가져올 수 있습니다. 이렇게하면

public class SampleModule 
     { 
      readonly IObjectContainer container; 

      public SampleModule(IObjectContainer container) 
      { 
       this.container = container; 
      } 
     } 
+0

그리고 또한 내 문제를 해결해야합니다. –

+0

공용 부분 클래스 App : { protected OnStartup (StartupEventArgs e) { base.OnStartup (e); var bootStrapper = 새 BootStrapper(); var container = bootStrapper.BootStrap(); var mainWindow = container.Resolve (); mainWindow.Show(); } } –

+0

은 문제가 될 수 있습니다. –

관련 문제