2009-06-26 10 views
1

저는 현재 Rob Eisenberg의 Caliburn 프레임 워크를 사용하고 있습니다. http://caliburn.codeplex.com에 제공된 설명서를 볼 때 컨테이너에서 Caliburn 서비스를 해결하는 방법에 대한 예가 있습니다.Caliburn은 어디서나 컨테이너에 대한 참조를 얻을 수있는 방법을 제공합니까?

SimpleContainer container = new SimpleContainer(); 

CaliburnFramework 
      .ConfigureCore(container) 
      .WithCommonDialogs() 
      .WithPresentationFramework() 
      .Start(); 

var service = container.GetInstance(typeof (IService)) as Service; 

그러나 내가 무엇을 놓치고 것은 어느 곳에서나 응용 프로그램의 컨테이너에 대한 참조를 얻을 수있는 방법은 다음과 같습니다

그것은이의 라인을 따라 뭔가. 이처럼 :

var service = Caliburn.Container.GetInstance(typeof(IService))as Service; 

내가 컨테이너에 대한 참조를 보유 또는이 이미 Caliburn에 내장 뭔가 사용자 정의 정적 클래스를 구축해야합니까?

미리 감사드립니다.

답변

1

Caliburn의 최신 트렁크 버전은 프레임 워크를 시작할 때 컨테이너를 서비스 로케이터로 자동 등록합니다. 코드에서 Microsoft.Practices.ServiceLocation을 참조한 다음 ServiceLocator에 서비스 인스턴스를 요청하십시오.

var service = ServiceLocator.Current.GetInstance<IService>(); 

희망이 있습니다.

관련 문제