簡體   English   中英

在實現通用接口的類上,“類不實現接口成員”錯誤

[英]“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM