Я пытаюсь получить Unity для разрешения типа (объекта) с использованием фабричного метода с параметром, но я не могу заставить это работать. Источник проблемы описан в этом ответе answer.InjectionFactory для именованного экземпляра
Он говорит, что я должен зарегистрировать каждый вид с:
m_Container.RegisterType<Object, View>("View");
В противном случае RequestNavigate («View») Метод потерпит неудачу, но я не люблю этот подход. Я не буду перемещаться с помощью RequestNavigate ("Namespace.View"), но это не сработает.
Так я пытался сказать контейнер Unity, как решить взгляды:
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");
получает создания объекта и завода метод игнорируется, как я могу получить единство, чтобы вызвать фабричный метод для типа (даже если метод разрешения вызывается с именем).