Вложенные процедуры (Visual Basic)
Процедура Sub
— это ряд инструкций Visual Basic, заключенных в Sub
инструкции и End Sub
инструкции. Процедура Sub
выполняет задачу, а затем возвращает управление вызывающему коду, но не возвращает значение вызывающему коду.
Каждый раз, когда процедура вызывается, выполняются его инструкции, начиная с первой исполняемой инструкции после Sub
инструкции и заканчивая первым End Sub
Exit Sub
Return
или обнаруженной инструкцией.
Процедуру Sub
можно определить в модулях, классах и структурах. По умолчанию это Public
означает, что вы можете вызывать его из любого места в приложении с доступом к модулю, классу или структуре, в которой он определен. Метод терминов Sub
описывает или Function
процедуру, доступ к которым осуществляется за пределами определяющего модуля, класса или структуры. Дополнительные сведения см. в разделе Procedures in Visual Basic (Процедуры в Visual Basic).
Процедура Sub
может принимать аргументы, такие как константы, переменные или выражения, передаваемые в него вызывающим кодом.
Синтаксис объявления
Синтаксис объявления Sub
процедуры выглядит следующим образом:
[modifiers] Sub SubName[(parameterList)]
' Statements of the Sub procedure.
End Sub
Можно modifiers
указать уровень доступа и сведения о перегрузке, переопределении, совместном использовании и тени. Дополнительные сведения см . в подразделе "Вложенный оператор".
Объявление параметров
Вы объявляете каждый параметр процедуры аналогично объявлению переменной, указывая имя параметра и тип данных. Кроме того, можно указать механизм передачи, а также указать, является ли параметр необязательным или массивом параметров.
Синтаксис для каждого параметра в списке параметров выглядит следующим образом:
[Optional] [ByVal | ByRef] [ParamArray] parameterName As DataType
Если параметр является необязательным, необходимо также указать значение по умолчанию в рамках его объявления. Синтаксис для указания значения по умолчанию выглядит следующим образом:
Optional [ByVal | ByRef] parameterName As DataType = defaultValue
Параметры как локальные переменные
Когда элемент управления передается в процедуру, каждый параметр рассматривается как локальная переменная. Это означает, что его время существования совпадает с временем действия процедуры, а ее область — это вся процедура.
Синтаксис вызова
Вы вызываете процедуру Sub
явным образом с помощью автономной инструкции вызова. Его нельзя вызывать с помощью его имени в выражении. Необходимо указать значения для всех аргументов, которые не являются необязательными, и необходимо заключить список аргументов в скобки. Если аргументы не указаны, можно также опустить круглые скобки. Использование Call
ключевое слово является необязательным, но не рекомендуется.
Синтаксис вызова Sub
процедуры выглядит следующим образом:
[Call] SubName[(argumentlist)]
Метод можно вызвать Sub
извне класса, который определяет его. Сначала необходимо использовать New
ключевое слово для создания экземпляра класса или вызова метода, возвращающего экземпляр класса. Дополнительные сведения см. в разделе "Новый оператор". Затем можно использовать следующий синтаксис для вызова Sub
метода в объекте экземпляра:
object.MethodName[(argumentList)]
Иллюстрация объявления и вызова
Sub
Следующая процедура сообщает оператору компьютера, какой задачей будет выполняться приложение, а также отображает метку времени. Вместо дедупликации этого кода в начале каждой задачи приложение просто вызывается tellOperator
из разных расположений. Каждый вызов передает строку в аргументе task
, который определяет запущенную задачу.
Sub tellOperator(ByVal task As String)
Dim stamp As Date
stamp = TimeOfDay()
MsgBox("Starting " & task & " at " & CStr(stamp))
End Sub
В следующем примере показан типичный вызов tellOperator
.
tellOperator("file update")