【问题标题】:I implemented the Interface but I get "does not implement interface member" [duplicate]我实现了接口,但我得到“不实现接口成员”[重复]
【发布时间】:2018-05-24 12:14:21
【问题描述】:

我收到此错误:

CalculatorCalories 没有实现接口成员 ICalculatorCalories.GetIndex

但是我实现了接口的方法:

namespace WindowsFormsApp1
{
    public interface ICalculatorCalories
    {
        int GetIndex { get; }
    }

    public partial class CalculatorCalories : Form, ICalculatorCalories
    {
        public CalculatorCalories()
        {
            InitializeComponent();
        }

        public int GetIndex(int growthC, int sex)
        {
            int index = growthC - 100 - ((growthC - 150) / sex);
            return index;
        }
    }
}

【问题讨论】:

  • GetIndex 是一个属性!不是方法

标签: c# class oop


【解决方案1】:

问题在于接口定义了一个只读属性,其中实现的GetIndex 是一个方法。您需要更改其中一个。

大概,将您的界面编辑为:

public interface ICalculatorCalories
{
    int GetIndex(int growthC, int sex);
}

【讨论】:

    【解决方案2】:

    ICalculatorCalories 中,您将GetIndex 定义为getter 属性,而不是您实现的函数。为了让类实现接口,方法/属性的签名必须匹配。

    建议修复接口:

    public interface ICalculatorCalories
    {
        int GetIndex(int growthC, int sex);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多