与重写相关联的密封关键字

是否总是需要在下面代码的方法的签名中使用override关注关键字:

 public sealed override string Method1(){.....} 

我的意思是,如果我想在没有覆盖的情况下“密封”基类中的方法,是否仍然需要override关键字?

密封方法只有在覆盖它时才有意义。

这里发生的是以下内容:
您正在覆盖基类( override )中的方法,并告诉编译器不再允许从您的类派生类重写此方法(已sealed )。

如果该方法是您在类中声明的新方法,并且您希望阻止派生类覆盖它,则只需将其声明为虚拟方法即可。

如果方法是在基类中声明但是不能覆盖它,那么它就没有任何意义,因为它已经无法被覆盖。

我认为Hilgarth先生在这里提供了最好的答案,但是为了给以前有过Java背景的程序员(比如我自己)添加一些新东西,我认为大多数C#新手的程序员,往往会在Java方面与Java final密切相关压倒一切。

Java中 ,未指定"any"修饰符的默认行为是该方法可以在其派生类中重写

C#中 ,默认行为是除非使用virtual关键字明确指定,否则无法 覆盖该方法。

希望这有助于补充上面的最佳答案。

你只能密封覆盖,所以我猜答案是肯定的。