找不到合适的方法来覆盖,但有一个方法可以覆盖

时间:2015-11-11 13:19:25

标签: c# interface

我使用以下代码

创建了一个简单的界面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DesignPattern_FactoryPattern
{
   interface Shape
    {
       void drawshape();
    }
}

然后,我用下面的代码

创建了另一个类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DesignPattern_FactoryPattern
{
    class Square : Shape
    {
        public override void drawshape() 
        {
            Console.WriteLine("Shape is Square");
        }
    }
}

我收到以下错误:

  

找不到合适的方法来覆盖。

你能帮我吗?

1 个答案:

答案 0 :(得分:4)

所以你有:

  • 名为Shape
  • 的界面
  • 实现Square接口
  • 的名为Shape的类

在这种情况下,您需要删除单词overridedrawShape类中的Square方法是接口中定义的方法的实现。

我们假设您有一个名为Shape的基类,并且Square类继承自Shape。在这种情况下,drawShape方法将override基类中的同名方法。