ace*_*33s 14 c# interface abstract
这是我的界面:
public interface MyInterface {
bool Foo();
}
Run Code Online (Sandbox Code Playgroud)
这是我的抽象类:
public abstract class MyAbstractClass : MyInterface {
abstract bool MyInterface.Foo();
}
Run Code Online (Sandbox Code Playgroud)
这是编译器错误: "修饰符'abstract'对此项无效.
我应该如何继续使用抽象方法显式实现抽象?
Jon*_*eet 21
基本上你不能.反正不是直接的.您不能覆盖显式实现接口的方法,并且必须覆盖抽象方法.你最接近的将是:
bool MyInterface.Foo() {
return FooImpl();
}
protected abstract bool FooImpl();
Run Code Online (Sandbox Code Playgroud)
它仍然显式实现接口并强制派生类实际提供实现.这些是你想要实现的方面吗?
Mik*_*our 13
您必须使用接口成员的隐式实现而不是显式实现:
public abstract class MyAbstractClass : MyInterface
{
public abstract bool Foo();
}
Run Code Online (Sandbox Code Playgroud)