我有以下类定义:
public abstract class ControllerBase<T, V> : Controller where T : EntityBase<T> where V : GenericRepository<T>
然后稍后在课堂上我有以下代码:
private V _repo;
...
_repo = (V)Activator.CreateInstance(typeof(V), _dbC, _c);
这编译得很好。然后我有一个具有以下定义的类:
public class SecurityRoleController : ControllerBase<SecurityRole, GenericRepository<SecurityRole>>
这也编译得很好。但是,当我尝试在浏览器中点击 /SecurityRole 时,我得到一个异常,即Constructor on type GenericRepository'1 not found
. (请注意,它实际上是异常中的反引号,但会破坏 SO 格式。)尽管事实上GenericRepository<T>
当我尝试直接创建类的实例时,有一个公共构造函数可以正常工作。
任何人都知道我如何正确构造该类的通用实例?
TIA,
本杰
编辑:
的构造函数GenericRepository
:
public GenericRepository(DbContext dbContext, Context c, string[] includes = null)
{
_dbContext = dbContext;
_c = c;
if (includes != null)
{
_includes = includes;
}
return;
}
并且, and 的类型是and ,_dbC
它们的构造函数中需要的类型- 是的,我从. 有什么想法吗?_c
DbContext
Context
GenericRepository
.GetType().FullName