親の型に基づいて、コンストラクター引数を条件付きで StructureMap に提供したいと思います。以下のコードでこれを達成しようとしています。
具象型 ProcessorSettings は、TypeOne と TypeTwo の両方に対するコンストラクター引数です。ProcessorSettings のコンストラクターは、「frequency」という名前の 1 つの int パラメーターを取ります。
これを試してみると、 StructureMap エラーStructureMap Exception Code: 202 No Default Instance defined for PluginFamily が表示されます。エラー メッセージにはこれ以上の情報はありません。
x.ForConcreteType<ProcessorSettings>()
.Configure.Ctor<int>("frequency")
.Is(condition => condition.Conditional(y =>
{
y.If(t => t.ParentType == typeof(TypeOne))
.ThenIt.Is.IsThis(intVal1);
y.If(t => t.ParentType == typeof(TypeTwo))
.ThenIt.Is.IsThis(intVal2);
}));