He escrito una clase que tiene algunas dependencias que resuelve del contenedor de unidad.Instancia de registro de unidad y resolución
De mi clase principal que crear un nuevo objeto
MyObject myObject = new MyObject();
me registro con mi unidad de contenedores
UContainer.RegisterInstance<MyObject>(myObject, new ExternallyControlledLifetimeManager());
la puedo crear el tipo que necesita esto como una dependencia
ConsumerObject consumer = new ConsumerObject();
el consumidor se ve así:
public class ConsumerObject
{
public ConsumberObject()
{
theObject = (MyObject)UContainer.Resolve(typeof(MyObject));
}
}
Esto arroja una excepción:
Resolución de la dependencia fracasó, type = "MiObjeto", name = "". El mensaje de excepción es: La operación de compilación actual (clave de compilación Build Key [MyObject, null]) falló: el parámetro pp no se pudo resolver al intentar llamar al constructor MyObject (IPreferenceStorageProvider pp). (Tipo de estrategia BuildPlanStrategy, índice 3)
¿Por qué mi llamada de resolución está intentando llamar a otro contsructor en el tipo? Ya he creado y registrado la instancia .. También lo probé como: theObject = UContainer.Resolve<MyObject>();
no parece hacer ninguna diferencia ..
Gracias
El problema es la "MiObjeto" no es mi objetivo .. Tiene cerca de 15 constructores .. puedo crearlo, pero no tengo ningún control sobre su estructura .. ¿Por qué ¿está Unity intentando revivirlo de todos modos? Creé una instancia y la registré ... Ahora está en el contenedor como singleton, no debería estar llamando a ningún constructor ... ??? –