Практическое руководство. Передача аргументов в процедуру по именам (Visual Basic)
При вызове процедуры Sub или Function можно передать аргументы по имени вне зависимости от порядка, в котором соответствующие параметры отображаются в определении процедуры.
Передача аргументов по имени упрощает чтение кода, так как это делает понятными значения аргументов в вызове процедуры. Если процедура имеет необязательные параметры, передача по имени также упрощает отслеживание переданных и пропущенных аргументов.
Правила и ограничения при передаче аргументов по имени описаны в разделе Передача аргументов по позиции и по имени (Visual Basic).
Для передачи аргументов по имени
Обратитесь к исходному коду объявления процедуры, чтобы определить точное написание имени параметра.
В коде вызова подготовьте вызов процедуры обычным способом, со списком аргументов в круглых скобках после имени процедуры.
Для каждого аргумента, который необходимо передать по имени, укажите имя объявленного параметра с двоеточием и знаком равенства (:=), за которым следует значение, передаваемое для аргумента.
Аргументы можно передать в любом порядке, однако необходимо указать все позиционные аргументы перед указанием всеx именованных аргументов.
Пример
В следующем примере показана процедура Sub с тремя параметрами и Оператор Call (Visual Basic), которая передает аргументы в эти параметры по имени.
Sub studentInfo(ByVal name As String,
Optional ByVal age As Short = 0,
Optional ByVal birth As Date = #1/1/2000#)
Debug.WriteLine("Name = " & name &
"; age = " & CStr(age) &
"; birth date = " & CStr(birth))
End Sub
Call studentInfo(age:=19, birth:=#9/21/1981#, name:="Mary")
При передаче аргументов по имени необязательно предоставлять их в том же порядке, в котором их объявляет процедура.
Компиляция кода
Убедитесь, что имя параметра в списке аргументов точно соответствует имени, объявленному процедурой.
См. также
Задачи
Практическое руководство. Передача аргументов в процедуру (Visual Basic)
Ссылки
Основные понятия
Параметры и аргументы процедуры (Visual Basic)
Передача аргументов по значению и по ссылке (Visual Basic)
Передача аргументов по позиции и по имени (Visual Basic)