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


Overloads (Visual Basic)

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

Заметки

Перегрузка — это порядок предоставления нескольких определений для свойства или процедуры с заданным именем в одной области. Повторное объявление свойства или процедуры с другой сигнатурой иногда называют скрытием по сигнатуре.

Правила

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

  • Комбинированные модификаторы. Нельзя указывать в одном и том же объявлении процедуры Overloads вместе с Shadows (Visual Basic).

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

    • число параметров;

    • порядок параметров;

    • типы данных параметров;

    • число параметров-типов (для универсальной процедуры);

    • тип возвращаемого значения (только для процедуры оператора преобразования).

    Все перегрузки должны иметь одинаковые имена, но каждая должна отличаться от всех прочих в одной или нескольких из ранее перечисленных характеристик. Это позволяет компилятору различать версии для использования, когда код вызывает свойство или процедуру.

  • Запрещенные различия. Создание одного или нескольких из следующих различий является недопустимым для перегрузки свойства или процедуры, поскольку они не являются частью сигнатуры:

    • возвращает значение или нет (для процедуры);

    • тип данных возвращаемого значения (за исключением оператора преобразования);

    • имена параметров или параметры типа;

    • ограничения на параметры типа (для универсальной процедуры);

    • зарезервированные слова модификаторов параметров (например, ByRef или Optional);

    • зарезервированные слова модификаторов процедур и свойств (например, Public или Shared).

  • Необязательный модификатор. Нет необходимости использовать модификатор Overloads при определении нескольких перегруженных свойств или процедур в одном классе. Однако если модификатор Overloads используется в одном из объявлений, его необходимо использовать и во всех остальных.

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

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

Оператор Function

Оператор Operator

Оператор Property

Оператор Sub

См. также

Задачи

Практическое руководство. Определение оператора преобразования (Visual Basic)

Ссылки

Shadows (Visual Basic)

Основные понятия

Перегрузка процедур (Visual Basic)

Универсальные типы в Visual Basic (Visual Basic)

Процедуры операторов (Visual Basic)