J'essaie la dernière version de StructureMap, pour en savoir plus sur les conteneurs IoC et autres. Comme mon premier test, j'ai la classe suivante:Code d'exception StructureMap 205 Propriété instance instance manquante
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();
}
}
J'utilise ensuite StructureMap comme ceci:
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();
}
Je suis le passage d'un objet docteur comme le premier constructeur param à l'hôpital, et je essaie de régler le level
à 23. Lorsque param je lance le code ci-dessus je reçois:
Exception non gérée: StructureMap.StructureMapException: StructureMap Code d'exception: 205 manquant a demandé propriété instance "niveau" pour InstanceKey "5f8c4b74-a398-43f7- 91d5-cfefcdf120cf"
Il semble donc que je ne suis pas la mise en level
du tout param. Quelqu'un peut-il me diriger dans la bonne direction - comment puis-je définir le level
param dans le constructeur?
Cheers. Jas.
Grand, qui a travaillé :) Je –
eu un problème similaire, voici une autre solution possible pour le même message d'erreur: http: // stackoverflow. com/questions/6998346/telling-structuremap-to-use-another-constructor – Jaider