MustOverride (Visual Basic)

Specifies that a property or procedure is not implemented in this class and must be overridden in a derived class before it can be used.


You can use MustOverride only in a property or procedure declaration statement. The property or procedure that specifies MustOverride must be a member of a class, and the class must be marked MustInherit.


  • Incomplete Declaration. When you specify MustOverride, you do not supply any additional lines of code for the property or procedure, not even the End Function, End Property, or End Sub statement.

  • Combined Modifiers. You cannot specify MustOverride together with NotOverridable, Overridable, or Shared in the same declaration.

  • Shadowing and Overriding. 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.

  • Alternate Terms. An element that cannot be used except in an override is sometimes called a pure virtual element.

The MustOverride modifier can be used in these contexts:

Function Statement

Property Statement

Sub Statement

See also