我有一个通用接口:
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>
预期的结果。万岁!
现在我添加了第二个构造函数,实现如下所示:
public class Repository<T> {
public Repository<T>() { ... }
public Repository<T>(string database) { ... }
}
当我尝试获取IRepository<Something>
now 时,我得到一个异常,因为它默认尝试使用带有参数的新构造函数。嘘!
如何更改我的 StructureMap 配置,以便它知道使用无参数构造函数?