相当于 Java 1.6 @Override 用于 C 语言接口#
2022-09-03 15:56:12
这个问题给出了Java的@Override具有与方法上的关键字等效的C#的答案。但是,从Java 1.6开始,@Override注释也可以应用于接口。override
这样做的实际用途是,在Java中,当一个类声称它实现了一个接口方法时,当它不再实现时(例如,如果接口方法被删除),你会得到编译错误。C# 中是否有等效的功能?
一些代码示例:
爪哇岛:
public interface A {
public void foo();
// public void bar(); // Removed method.
}
public class B implements A {
@Override public void foo();
@Override public void bar(); // Compile error
}
C#:
public interface IA {
void Foo();
// void Bar(); // Removed method.
}
public class B : A {
public override void Foo(); // Doesn't compile as not 'overriding' method
public void Bar(); // Compiles, but no longer implements interface method
}