由時候,您需要在 ViewModel 內,不透過建構式注入的方式,取得某個介面的實作物件,這個時候,您需要取得 Prism 的容器,自行解析出該介面的註冊實作類別。
想要取得 Prism 內的預設使用容器,可以使用底下程式碼,這個程式碼會回傳
IUnityContainer
IUnityContainer myContainer = (App.Current as PrismApplication).Container;
接著,您可以使用底下程式碼,取得某個介面(在這裡範例為 IMyClass)的實作物件,可以使用泛型
Resolve
方法,解析出實作介面的物件。fooObject = myContainer.Resolve<IMyClass>();