我尝试让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");
一个对象被创建,工厂方法被忽略,我怎么能得到统一调用一个类型的工厂方法(即使解析方法是用名称调用)。