C# 在抽象类中实现接口

C# 在抽象类中实现接口,c#,.net,oop,C#,.net,Oop,是否可以在抽象类中实现接口并将实现的接口方法更改为抽象 interface ITest { string GetData(); int ProcessData(); } public abstract class MyAbstract:ITest { public int Process() { // some code } public abstract string GetData(); // Change the impl

是否可以在抽象类中实现接口并将实现的接口方法更改为抽象

interface ITest
{
    string GetData();
    int ProcessData();
}

public abstract class MyAbstract:ITest
{
    public int Process()
    {
        // some code
    }

    public abstract string GetData(); // Change the implemented method into abstract Is it Possible?
}

是的,你能做到。只需添加abstract关键字并删除实现。这显然是个陷阱。从抽象类继承的任何类现在都必须自己实现
GetData
。取决于有多少类是MyAbstract的子类,这可能会导致大量工作和代码重复


在您的例子中,如果所讨论的方法是由
MyAbstract
实现的接口声明的,那么实际上您可以完全删除
GetData
,并依赖
ITest
中此函数的声明

可能是重复的,谢谢你们的即时回复,但我的问题是,我是否实现了接口方法并将该方法更改为抽象方法是可能的还是不可能的
public abstract string GetData()
您是否在问是否可以将非抽象方法更改为抽象方法?您是否阅读了上述帖子的所有答案?你的答案就在那篇文章里。@FosterZ:我不认为这是一个骗局,因为:a)这个问题不是建设性的,b)这个问题中给出的例子并没有具体涉及让抽象成员实现接口,它只涉及以任何方式在抽象类上实现接口(不知道它是否真的可能,也没有给出这个案例的例子);这个问题专门针对那个案例。