我有一个定义合同的接口,该接口将/var/www/
强制为一个类并实现了IBaseEntity接口:
TEntity
我有一个实现此接口的抽象类:
public interface IBaseRepository<TEntity, TEntityKey>
where TEntity : class, IBaseEntity<TEntityKey>, new() { /* Some code. */ }
基类给我一个编译错误:
类型“ TEntity”必须是引用类型,才能在通用类型或方法“ IBaseRepository”中用作参数“ TEntity”
可以通过在界面中添加public abstract class AbstractBaseRepository<TEntity, TEntityKey>
: IBaseRepository<TEntity, TEntityKey> { /* Some code. */ }
关键字来解决此问题,但是我想知道为什么类不从该界面继承该规则,以及是否有任何方法可以做到这一点。