Estoy probando la última versión de StructureMap, para aprender sobre los contenedores de IoC y similares. Como mi primera prueba, no tengo la clase siguiente:Código de excepción de StructureMap 205 Falta la propiedad de instancia solicitada
public class Hospital
{
private Person Person { get; set; }
private int Level { get; set; }
public Hospital(Person employee, int level)
{
Person = employee;
Level = level;
}
public void ShowId()
{
Console.WriteLine(this.Level);
this.Person.Identify();
}
}
Luego uso StructureMap así:
static void Main()
{
ObjectFactory.Configure(x =>
{
x.For<Person>().Use<Doctor>();
x.ForConcreteType<Hospital>().Configure.Ctor<int>().Equals(23);
});
var h = ObjectFactory.GetInstance<Hospital>();
h.ShowId();
}
Así que estoy pasando un objeto médico como el primer parámetro del constructor al hospital, y yo estoy tratando de establecer el parámetro level
a 23. al ejecutar el código anterior me sale:
Excepción no controlada: StructureMap.StructureMapException: StructureMap Código de excepción: 205 Missing solicitó propiedad "nivel" Instancia para ClaveInstancia "5f8c4b74-a398-43f7- 91d5-cfefcdf120cf"
Así que parece que no estoy estableciendo el parámetro level
en absoluto. ¿Puede alguien señalarme en la dirección correcta? ¿Cómo configuro el parámetro level
en el constructor?
Saludos. Jas.
Grande, que trabajó :) –
tuve un problema similar, aquí otra posible solución para el mismo mensaje de error: http: // stackoverflow. com/questions/6998346/telling-structuremap-to-use-another-constructor – Jaider