「GetInstance」(最後の行)を呼び出すと、stackoverflow例外が発生し続けます。すべて、はいすべてのタイプがITrackerを実装しています。MultiTrackerには、ITrackerの配列である単一のパラメーターを持つコンストラクターがあります。
StructureMapは、タイプITrackerを要求するときにMultiTrackerが必要なデフォルトのクラスであると言ったという事実を無視しているようです。
私はそれを機能させることができません。何かご意見は?
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>();