19

C# では、overrideデフォルトで有効になっているため、メソッドを基本クラスでオーバーライド可能として明示的に宣言する必要はありませんか? もしそうなら

  1. Overridable は VB.NET に限定されているだけですか、それとも C# でも必要ですか?
  2. したがって、どのタイプのメソッドをオーバーライドできますか? 抽象クラスまたは任意のメソッドの抽象メソッドのみですか?
4

2 に答える 2

46

OverridableVB のキーワードは、C# のキーワードに対応しますvirtual

メソッドをオーバーライドできるようにするには、メソッドを仮想にする必要があります。抽象メソッドは自動的に仮想になります。

于 2012-07-19T05:35:11.607 に答える
3

C# では、'virtual' としてマークされたメソッドはすべてオーバーライドできます。「abstract」とマークされたメソッドは、必ずしもオーバーライドされるわけではなく、abstract クラスを実装するクラスで実装されます。それらは、実装で仮想としてマークできます。仮想メソッドをオーバーライドできる回数に制限はありません。

VB.NET に関する回答が必要ですか?

于 2012-07-19T05:34:36.073 に答える