编译代码时出现此错误,无法确定原因:
Class没有实现接口成员
这是我的代码:
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)
{
}
}
它有什么问题?
答案 0 :(得分:3)
您在界面中对AddReview
的定义是错误的。它应该是:
void AddReview(T item);
类已经提供了泛型类型参数T
,并且您不希望偏离您的方法(在本例中)。您现在将T
的含义更改为本地类型参数,而不是使用类级别上可用的参数。
答案 1 :(得分:0)
您没有实现通用方法:
public void AddReview<Review>(Review item)
{
}
或者您应该在界面中更改方法的签名:
void AddReview(T item);
答案 2 :(得分:0)
您可能需要更改此方法:
public void AddReview(Review item)
对此:
public void AddReview<Review>(Review item)