试图解决泛型错误

时间:2015-07-04 19:22:03

标签: c# oop generics design-patterns

我想知道如何启动BaseDao课程?

object

我正在尝试

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; }
}

但是得到错误 - 请帮忙 类型&#39; Domain.Models.Entities.Department&#39;不能用作类型参数&#39; TEntity&#39;在泛型类型或方法&#39; Domain.Models.BaseDao&#39;。来自&#39; Domain.Models.Entities.Department&#39;没有隐式参考转换。 to&#39; Domain.Models.BaseVo&#39;。

1 个答案:

答案 0 :(得分:2)

问题是部门类必须来自BaseVo<TIdentifier>

您可以像这样定义Department类:

public class Department : BaseVo<int>
{

}