如何指定我的参数T必须为类型

时间:2019-07-05 12:52:02

标签: c# generics

我正在努力使.NET Core应用程序中的某个类通用。

我制作了一个带有两个参数的基类:TModelTId

TId指定在TModel中使用的字段'Id'的类型

TModel指定一个从IMyOwnEntity继承的类

我的班级是这样定义的:

public abstract class AbstractBaseService<TModel, TId>
        where TModel : class, IMyOwnEntity<TId>

我想做什么:

public TModel GetById(TId id)
{
    return context.DbSet<TModel>().FirstOrDefault(x => x.Id == id);
}

但这会产生以下编译错误:

"Operator '==' cannot be applied to operands of type 'TId' and 'TId'

有人看到我在做什么错吗?

0 个答案:

没有答案