试图解决泛型错误
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>
{
}
我想知道如何启动 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>
{
}