Практическое руководство. Определение различных версий процедуры (Visual Basic)
Процедуру можно определить в нескольких версиях , перегрузив ее, используя одно и то же имя, но другой список параметров для каждой версии. Целью перегрузки является определение нескольких тесно связанных версий процедуры без необходимости различать их по имени.
Дополнительные сведения см. в разделе Procedure Overloading.
Определение нескольких версий процедуры
Sub
Напишите инструкцию илиFunction
объявление для каждой версии процедуры, которую вы хотите определить. Используйте одно и то же имя процедуры в каждом объявлении.Предшествуйте или
Function
ключевое слово в каждом объявлении с ключевое слово перегрузки.Sub
Вы также можете не указыватьOverloads
в объявлениях, но если включить его в любое из объявлений, необходимо включить его в каждое объявление.После каждой инструкции объявления напишите код процедуры для обработки конкретного случая, когда вызывающий код предоставляет аргументы, соответствующие списку параметров этой версии. Вам не нужно проверять, для каких параметров предоставленный вызывающий код. Visual Basic передает элемент управления в соответствующую версию процедуры.
Завершите каждую версию процедуры соответствующим образом с
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 String
Integer
, а затем использовать ту же инструкцию вызова в любом случае.
Сведения о вызове этих версий post
процедуры см. в статье "Практическое руководство. Вызов перегруженной процедуры".
Компиляция кода
Убедитесь, что каждая из перегруженных версий имеет одно и то же имя процедуры, но другой список параметров.
См. также
- Процедуры
- Параметры и аргументы процедуры
- Рекомендации по устранению неполадок
- Практическое руководство. Перегрузка процедуры, которая принимает один необязательный параметр
- Практическое руководство. Перегрузка процедуры, принимающей неопределенное число параметров
- Вопросы, связанные с перегрузкой процедур
- Overload Resolution