[英]“Class does not implement interface member” error on class implementing a generic interface
編譯代碼時出現此錯誤,無法確定原因:
類沒有實現接口成員
這是我的代碼:
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
的含義更改為本地類型參數,而不是使用類級別上的可用參數。
您沒有實現泛型方法:
public void AddReview<Review>(Review item)
{
}
或者您應該在界面中更改方法的簽名:
void AddReview(T item);
您可能需要更改此方法:
public void AddReview(Review item)
對此:
public void AddReview<Review>(Review item)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.