19

在 C# 中,override默认情况下是启用的,所以不需要在基类中显式声明一个方法为可覆盖的吗?如果是这样的话

  1. Overridable 是仅限于 VB.NET 还是在 C# 中也是必需的?
  2. 因此可以覆盖哪种类型的方法?它只是抽象类的抽象方法还是任何方法?
4

2 回答 2

46

OverridableVB 中的关键字对应于virtualC# 中的关键字。

您必须创建一个虚拟方法才能覆盖它。抽象方法是自动虚拟的。

于 2012-07-19T05:35:11.607 回答
3

在 C# 中,任何标记为“虚拟”的方法都可以被覆盖。标记为“抽象”的方法不一定被覆盖,它们在实现抽象类的类中实现。它们可以在实现中标记为虚拟。虚拟方法可以被覆盖的次数没有限制。

您需要 VB.NET 的答案吗?

于 2012-07-19T05:34:36.073 回答