私は一般的なインターフェースを持っています:
public interface IRepository<T> { ... }
私はこのような実装を持っています:
public class Repository<T> {
public Repository<T>() { ... }
}
StructureMap (v 2.6.3) は次のように構成されています。
For(typeof(IRepository<>)).Use(typeof(Repository<>));
IRepository<Something>
StructureMap から を取得しようとするとRepository<Something>
、期待どおりの が得られます。万歳!
2 つ目のコンストラクターを追加したので、実装は次のようになります。
public class Repository<T> {
public Repository<T>() { ... }
public Repository<T>(string database) { ... }
}
now を取得しようとするとIRepository<Something>
、デフォルトでパラメーターで新しいコンストラクターを使用しようとするため、例外が発生します。ブー!
パラメーターなしのコンストラクターを使用するように、StructureMap 構成を変更するにはどうすればよいですか?