This documentation is archived and is not being maintained.


Specifies that a property or procedure can be overridden by an identically named property or procedure in a derived class.

Overridable is the default setting for a property or procedure that itself overrides a base class property or procedure.

Both shadowing and overriding redefine an inherited element, but there are significant differences between the two approaches. For more information, see Shadowing in Visual Basic.

An element that can be overridden is sometimes called a virtual element. If it can be overridden, but does not have to be, it is sometimes also called a concrete element.


  • Declaration Context. You can use Overridable only in a property or procedure declaration statement.

  • Combined Modifiers. You cannot specify Overridable together with MustOverride, NotOverridable, or Shared in the same declaration. Because an overriding element is implicitly overridable, you cannot combine Overridable with Overrides.

The Overridable modifier can be used in these contexts:

Function Statement (Visual Basic)

Property Statement

Sub Statement (Visual Basic)