我遇到此問題RegisterType
。PRISM:帶名稱的註冊類型和ContainerControlledLifeTimeManager
container.RegisterType<IFoo, Foo>("Foo", new ContainerControlledLifetimeManager());
我創建的每個模塊都會包含一個類似的最後一個寄存器。另一個模塊將實現Foo2,Foo3作爲具體類型。
對於我來說真的有必要包含寄存器類型的名稱,因爲在外部模塊中會用鍵調用這個對象。
問題也是模塊內部,在其construtor需要的IFoo作爲參數(因爲我知道,這樣做是必要的對象是ContainerControlledLifetimeManager),當我設定的功能RequestNavigate並嘗試生成視圖模型:
public class FooViewModel
{
// here cannot create the object.
public FooViewModel(IFoo foo, ...)
{ .. }
}
而且它拋出:
ResolutionFailedException是由用戶代碼未處理。 解析依賴失敗,type =「System.Object」,name =「FooView」。 異常發生while:解析時。例外情況是: InvalidOperation - 當前類型Prism4Demo.ModuleA.IFoo是一個 接口,無法構建。你錯過了一個類型丟失?
alex,謝謝你的回答。我對ResolvedParameter感興趣,可以從中看到一個例子嗎? – 2012-04-10 21:10:56