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


Параметры и аргументы процедуры (Visual Basic)

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

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

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

Аргумент представляет значение, которое вы предоставляете параметру процедуры при вызове процедуры. Вызывающий код предоставляет аргументы при вызове процедуры. Часть вызова процедуры, указывающая аргументы, называется списком аргументов.

На следующем рисунке показан код, вызывающий процедуру safeSquareRoot из двух разных мест. Первый вызов передает значение переменной x (4.0) параметру number, а возвращаемое значение в root (2.0) назначается переменной y. Второй вызов передает литеральное значение 9.0 numberи назначает возвращаемое значение (3.0) переменной z.

Схема, показывающий передачу аргумента параметру

Дополнительные сведения см. в разделе "Различия между параметрами и аргументами".

Тип данных параметра

Тип данных для параметра определяется с помощью предложения в его объявлении As . Например, следующая функция принимает строку и целое число.

Function appointment(ByVal day As String, ByVal hour As Integer) As String
    ' Insert code to return any appointment for the given day and time.
    Return "appointment"
End Function

Если параметр проверки типа (option Strict Statement) является OffAs необязательным, за исключением того, что если один параметр использует его, все параметры должны использовать его. Если проверка типов имеет значение On, As условие требуется для всех параметров процедуры.

Если вызывающий код ожидает предоставления аргумента с типом данных, отличным от типа его соответствующего параметра, например ByteString параметра, он должен выполнить одно из следующих действий:

  • Указывайте только аргументы с типами данных, которые расширяются до типа данных параметра.

  • Установите Option Strict Off для разрешения неявных сужающих преобразований;

  • Используйте ключевое слово преобразования для явного преобразования типа данных.

Параметры типа

Универсальная процедура также определяет один или несколько параметров типа в дополнение к обычным параметрам. Универсальная процедура позволяет вызывающему коду передавать различные типы данных каждый раз при вызове процедуры, поэтому он может адаптировать типы данных к требованиям каждого отдельного вызова. См. раздел Generic Procedures in Visual Basic.

См. также