Я получаю исключение stackoverflow, когда я вызываю «GetInstance» (последняя строка). Все, да ВСЕ из моих типов реализуют ITracker. MultiTracker имеет конструктор с одним параметром, который является массивом ITracker.
Похоже, что StructureMap игнорирует тот факт, что я сказал ему, что MultiTracker является классом по умолчанию, который я хочу при запросе типа ITracker.
Я просто не могу заставить его работать. Есть мысли?
Container = new Container(x =>
{
//Multitracker takes ITracker[] in its constructor
x.ForRequestedType<MultiTracker>().TheDefault.Is.OfConcreteType<MultiTracker>().TheArrayOf<ITracker>().Contains(z =>
{
z.OfConcreteType<ConcreteType1>(); //ConcreteType1 : ITracker
z.OfConcreteType<ConcreteType2>(); //ConcreteType2 : ITracker
});
x.ForRequestedType<ITracker>().TheDefault.Is.OfConcreteType<MultiTracker>();
});
//Run a test - this explodes
Container.GetInstance<ITracker>();