C# 错误 cs0534: 没有实现抽象成员 get - 尽管我做到了

问题描述

我是 C# 新手。

我有一个需要实现的接口,在接口中包含这一行:

    public abstract IEnumerable<CardData> AllCards { get; }

在我的实现中,我有这个代码

    public IEnumerable<CardData> AllCards { 
        get { return cards as IEnumerable<CardData>; }
    }

但我收到一条错误消息:

error CS0534: 'CardDatabaseImpl' does not implement inherited abstract member 'CardDatabase.AllCards.get'

代码中引用这一行。

有什么建议吗?

error message

解决方法

看看 documentation for the abstract keyword。您需要在实现类中使用 override 关键字。

,

好吧,看来您使用的是抽象类,而不是接口。在这种情况下,只需 override 这个方法。或者使用接口(没有 abstract 关键字),您不需要覆盖它,只需实现即可。 See this question 获取接口和抽象类的区别