试图解决泛型错误

Trying to solve generics error

我想知道如何启动 BaseDao class?

public class BaseDao<TEntity, TIdentifier>
where TIdentifier : new()
where TEntity : BaseVo<TIdentifier>
{
//has implementation
}

public class BaseVo<TIdentifier>
    where TIdentifier : new()
{
    /// <summary>
    /// Gets or sets the Identifier.
    /// </summary>
    public virtual TIdentifier Id { get; set; }
}

我正在努力

 public BaseDao<Department, int>  GetDepartmentRepository()
    {
       return new BaseDao<Department, int>();


    }

但是出现错误 - 请帮忙 类型 'Domain.Models.Entities.Department' 不能用作泛型类型或方法 'Domain.Models.BaseDao' 中的类型参数 'TEntity'。没有从 'Domain.Models.Entities.Department' 到 'Domain.Models.BaseVo' 的隐式引用转换。

问题是部门 class 必须派生自 BaseVo<TIdentifier>

您可以这样定义部门 class:

public class Department : BaseVo<int>
{

}