我嘗試讓Unity使用帶參數的工廠方法來解析類型(對象),但我無法實現此功能。問題的來源在這個答案answer中描述。InjectionFactory爲命名實例
它說我需要註冊與每一個觀點:
m_Container.RegisterType<Object, View>("View");
否則RequestNavigate(「查看」)方法會失敗,但我不喜歡這種方式。 我不想用RequestNavigate(「Namespace.View」)導航,但這不起作用。
所以我試圖告訴團結集裝箱如何解決意見:
this.Container.RegisterType<object>(new InjectionFactory(this.ViewObjectFactory));
private object ViewObjectFactory(IUnityContainer iUnityContainer, Type type, string name)
{
//Never called
}
但如果容器被調用具有以下參數:
this.Container.Resolve(typeof(object), "Namespace.View");
一個對象被創建,工廠方法被忽略,我怎麼能得到統一調用一個類型的工廠方法(即使解析方法是用名稱調用)。