StructureMapConfiguration.ForRequestedType<IConsumer>().AddConcreteType<Consumer>();
このメソッドは、Consumer タイプを IConsumer のプラグ タイプとして追加します。IConsumer にプラグインされた型が他にない場合、この型は、要求された IConsumer のインスタンスが返す既定の型になります。それ以外の場合は、具象キー (既定では型のアセンブリ修飾名) を使用してこのインスタンスを取得する必要があります。
StructureMapConfiguration.ForRequestedType<IConsumer>().TheDefaultIsConcreteType<Consumer>();
これは AddConcreteType と同様に機能しますが、型を既定の型にする点が異なります。IConsumer のリクエストで具体的なキーが指定されていない場合、これが返されるタイプです。
AddInstanceOf と ForRequestedType の違いについては、AddInstance を使用すると、指定した型のインスタンスの作成を処理するデリゲートを指定できます。ForRequestedType は、CreatePluginFamilyExpression (または ForRequestedType(Type t) の場合は GenericFamilyExpression) のインスタンスを提供し、流暢な方法でインスタンスを構成できるようにします。