gpt4 book ai didi

c# - 为什么我不能用参数调用基本构造函数方法?

转载 作者:行者123 更新时间:2023-11-30 13:18:53 25 4
gpt4 key购买 nike

public class GenericRepository<TEntity> where TEntity : class
{
internal DbContext context;
internal DbSet<TEntity> dbSet;

public GenericRepository(DbContext context)
{
this.context = context;
this.dbSet = context.Set<TEntity>();
}
//snip
}

public class MyRepository<TEntity> where TEntity : GenericRepository<TEntity>
{
public MyRepository(DbContext context) : base(context){ }
//snip
}

我扩展了 GenericRepository 类,为了使用 base 的成员变量,我需要在子构造函数中调用 Base 的构造函数。但是我收到一条错误消息:

'object' does not contain a constructor that takes 1 arguments

即使 GenericRepository 有构造函数。

我做错了什么?

最佳答案

因为你的“基类”是object , 不是 GenericRepository<TEntity> .您在 TEntity 上添加了约束, 你没有继承 GenericRepository<TEntity> .也许你的意思是:

public class MyRepository<TEntity> : GenericRepository<TEntity> where TEntity : class
{
public MyRepository(DbContext context) : base(context){ }

关于c# - 为什么我不能用参数调用基本构造函数方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37948795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com