Próbuję wykonać najnowszą kompilację StructureMap, aby dowiedzieć się więcej o kontenerach IoC i tym podobnych. Jako mój pierwszy test, mam następujące klasy:Kod wyjątku StructureMap 205 Brak żądanej właściwości instancji
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();
}
}
Następnie używać StructureMap tak:
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();
}
Jestem więc przekazując obiekt z lekarzem, ponieważ pierwszego konstruktora param do szpitala, a ja Próbuję ustawić level
param do 23. Kiedy uruchomić powyższy kod uzyskać:
Unhandled Wyjątek: StructureMap.StructureMapException: StructureMap Kod wyjątku: 205 Zaginione o właściwość "poziom" Instance dla InstanceKey "5f8c4b74-a398-43f7- 91d5-cfefcdf120cf"
Wygląda więc na to, że nie jestem ustawiania level
param w ogóle. Czy ktoś może wskazać mi właściwy kierunek - w jaki sposób ustawić parametr level
w konstruktorze?
Pozdrawiam. Jas.
Wielki, który pracował :) –
miałem podobny problem, tutaj Innym możliwym rozwiązaniem dla tego samego komunikatu o błędzie: http: // stackoverflow. com/questions/6998346/telling-structuremap-to-use-another-constructor – Jaider