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

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

Дополнительные сведения см. в разделе Procedure Overloading.

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

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

  2. Предшествуйте или Function ключевое слово в каждом объявлении с ключевое слово перегрузки.Sub Вы также можете не указывать 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

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

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

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

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

См. также