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


Практическое руководство. Передача аргументов в процедуру по именам

Обновлен: Ноябрь 2007

При вызове процедуры Sub или Function можно передать аргументы по имени вне зависимости от порядка, в котором соответствующие параметры отображаются в определении процедуры.

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

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

Для передачи аргументов по имени

  1. Обратитесь к исходному коду объявления процедуры, чтобы определить точное написание имени параметра.

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

  3. Для каждого аргумента, который необходимо передать по имени, укажите имя объявленного параметра с двоеточием и знаком равенства (:=), за которым следует значение, передаваемое для аргумента.

  4. Аргументы можно передать в любом порядке, однако необходимо указать все позиционные аргументы перед указанием все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

Параметры и аргументы процедуры

Передача аргументов по значению или по ссылке

Передача аргумента по позиции и по имени

Необязательные параметры

Массивы параметров

Ссылки

Optional (Visual Basic)

ParamArray