我在编译代码时遇到此错误,但无法找出确切原因:


  类未实现接口成员


这是我的代码:

interface IReview<T> where T : Review
{
    IEnumerable<T> Reviews { get; set; }

    void AddReview<T>(T item);
}

class ReviewCollection : IReview<Review>
{
    IEnumerable<Review> _reviews;

    public IEnumerable<Review> Reviews
    {
        get { return _reviews; }
        set { _reviews = value; }
    }

    public void AddReview(Review item)
    {

    }
}


有什么问题吗?

最佳答案

您在界面中AddReview的定义是错误的。它应显示为:

void AddReview(T item);


该类已经提供了通用类型参数T,并且您不想在方法中发生偏离(在这种情况下)。现在,您将T的含义更改为本地类型参数,而不使用类级别上可用的参数。

10-05 21:22