1

次のインターフェイスを持っている

public interface IFoo<T> : IComparable<IPayRecordField<T>> where T : IComparable

IFoo のすべてのプロパティを実装 Foo で自動入力したい。ストラクチャーマップの使用

class SomeClass
{
   IFoo<string> MyFoo {get; set;} //this should be autofilled by structuremap with an instance of Foo<string>
}
4

1 に答える 1

1

それは実際にはかなり単純です。他のタイプを登録するのと同じように、オープン ジェネリック インターフェイスをオープン ジェネリック実装にマップできます。

container.Configure(r => r
    .For(typeof(IFoo<>))
    .Use(typeof(Foo<>)));

Foo<SomeType>をリクエストすると、StructureMap は自動的に を解決しますIFoo<SomeType>

于 2013-08-22T12:10:08.653 に答える