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


Практическое руководство. Определение нескольких версий процедуры (Visual Basic)

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

Дополнительные сведения см. в разделе "Перегрузка процедур".

Определение нескольких версий процедуры

  1. Напишите Sub или Function заявление для каждой из версий процедуры, которую вы хотите определить. Используйте одно и то же имя процедуры в каждом объявлении.

  2. Добавьте ключевое слово Sub перед каждым ключевым словом Function или в объявлении. Вы также можете не указывать Overloads в объявлениях, но если включить его в любое из объявлений, необходимо включить его в каждое объявление.

  3. После каждой инструкции объявления напишите код процедуры для обработки конкретного случая, когда вызывающий код предоставляет аргументы, соответствующие списку параметров этой версии. Вам не нужно проверять, какие параметры были переданы вызывающим кодом. Visual Basic передает управление в соответствующую версию вашей процедуры.

  4. Завершите каждую версию процедуры инструкцией End Sub или End Function, как это уместно.

Пример

В следующем примере определяется Sub процедура проведения транзакции против баланса клиента. Он использует ключевое слово Overloads для определения двух версий процедуры: одна принимает клиента по имени, другая — по номеру учетной записи.

Overloads Sub post(ByVal custName As String, ByVal amount As Single)
    ' Insert code to access customer record by customer name.
End Sub
Overloads Sub post(ByVal custAcct As Integer, ByVal amount As Single)
    ' Insert code to access customer record by account number.
End Sub

Вызывающий код может получить идентификацию клиента либо как String, либо как Integer, а затем использовать ту же команду вызова в любом из случаев.

Сведения о вызове этих версий post процедуры см. в статье "Практическое руководство. Вызов перегруженной процедуры".

Компиляция кода

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

См. также