Поделиться через


Переопределения (Visual Basic)

Указывает, что свойство или процедура переопределяет идентичное именованное свойство или процедуру, унаследованную от базового класса.

Правила

  • Контекст объявления. Можно использовать Overrides только в инструкции объявления свойства или процедуры.

  • Объединенные модификаторы. Нельзя указать Overrides вместе с ShadowsShared или в одном объявлении. Так как неявно переопределяемый элемент неявно переопределяется, нельзя объединить Overridable с Overrides.

  • Совпадающие подписи. Подпись этого объявления должна точно соответствовать сигнатуре свойства или процедуры, которую он переопределяет. Это означает, что списки параметров должны иметь одинаковое количество параметров в том же порядке с теми же типами данных.

    Помимо сигнатуры, объявление переопределения должно точно соответствовать следующим:

    • Уровень доступа

    • Тип возвращаемого значения, если таковой есть

  • Универсальные подписи. Для универсальной процедуры сигнатура содержит количество параметров типа. Поэтому объявление переопределения должно соответствовать версии базового класса в этом отношении.

  • Дополнительное сопоставление. Помимо сопоставления сигнатуры версии базового класса, это объявление также должно соответствовать этому объявлению в следующих отношениях:

    • Модификатор уровня доступа (например , общедоступный)

    • Механизм передачи каждого параметра (ByVal или ByRef)

    • Списки ограничений для каждого параметра типа универсальной процедуры

  • Тени и переопределение. Как тени, так и переопределение переопределения унаследованного элемента, но существуют значительные различия между двумя подходами. Дополнительные сведения см. в разделе "Тени" в Visual Basic.

Если используется Overrides, компилятор неявно добавляет Overloads , чтобы API библиотеки работали с C# проще.

Модификатор Overrides можно использовать в следующих контекстах:

См. также