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


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

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

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

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

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

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

Diagram that shows passing an argument to a parameter

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

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

Тип данных для параметра определяется с помощью предложения в его объявлении 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

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

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

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

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

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

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

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

См. также