试图解决泛型错误
本文关键字:错误 泛型 解决 | 更新日期: 2023-09-27 18:01:07
我想知道如何初始化BaseDao类?
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.Entity.Department"不能用作泛型类型或方法"Domain.Modules.BaseDao"中的类型参数"TEntity"。没有从"Domain.Modes.Entities.Document"到"Domain.MModels.BaseVo"的隐式引用转换。
问题是Department类必须是从BaseVo<TIdentifier>
派生的。
您可以这样定义Department类:
public class Department : BaseVo<int>
{
}