Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Процедура — это блок инструкций Visual Basic, заключенных в оператор объявления (Function
, Sub
, Operator
, Get
, Set
) и соответствующее End
объявление. Все исполняемые инструкции в Visual Basic должны находиться в некоторых процедурах.
Вызов процедуры
Вы вызываете процедуру из другого места в коде. Это называется вызовом процедуры. После завершения выполнения процедуры она возвращает управление в код, который её вызвал, который называется вызывающим кодом. Вызывающий код — это утверждение или выражение в составе конструкции, указывающее процедуру именем и передающее управление в нее.
Возвращение после процедуры
Процедура возвращает управление вызывающему коду после завершения выполнения. Для этого можно использовать оператор Return, соответствующий оператор Exit для процедуры или оператор, использующий ключевое слово <End> для процедуры. Управление затем передается вызывающему коду сразу после выполнения вызова процедуры.
С помощью инструкции
Return
управление немедленно возвращается в вызывающий код. Операторы, следующие за инструкциейReturn
, не выполняются. В одной процедуре может быть несколькоReturn
инструкций.При использовании инструкции
Exit Sub
илиExit Function
управление немедленно возвращается в вызывающий код. Операторы, следующие за инструкциейExit
, не выполняются. В одной процедуре можно использовать более одногоExit
оператора, а также смешиватьReturn
иExit
операторы в одной процедуре.Если у процедуры нет операторов
Return
илиExit
, она завершается операторомEnd Sub
,End Function
,End Get
илиEnd Set
после последнего оператора в теле процедуры. ОператорEnd
сразу возвращает управление к вызывающему коду. В процедуре можно использовать только однуEnd
инструкцию.
Параметры и аргументы
В большинстве случаев процедура должна работать с разными данными при каждом вызове. Эти сведения можно передать в процедуру в рамках вызова процедуры. Процедура определяет ноль или более параметров, каждый из которых представляет собой значение, которое ожидается для передачи в него. Каждый параметр в определении процедуры соответствует аргументу в вызове процедуры. Аргумент представляет значение, которое передается соответствующему параметру в вызове данной процедуры.
Типы процедур
Visual Basic использует несколько типов процедур:
Вложенные процедуры выполняют действия, но не возвращают значение вызывающем коду.
Процедуры обработки событий являются
Sub
процедурами, которые выполняются в ответ на событие, вызванное действием пользователя или происшествием в программе.Процедуры функций возвращают значение вызывающему коду. Перед возвратом они могут выполнять другие действия.
Некоторые функции, написанные в C#, возвращают возвращаемое значение ссылки. Вызывающие функции могут изменять возвращаемое значение, и это изменение отражается в состоянии вызываемого объекта. Начиная с Visual Basic 2017, код Visual Basic может использовать возвращаемые значения ссылок, хотя он не может возвращать значение по ссылке. Дополнительные сведения см. в разделе "Ссылочные возвращаемые значения".
Процедуры свойств возвращают и присваивают значения свойств объектам или модулям.
Процедуры операторов определяют поведение стандартного оператора, если один или оба операнда являются вновь определенным классом или структурой.
Универсальные процедуры в Visual Basic определяют один или несколько параметров типа в дополнение к обычным параметрам, поэтому вызывающий код может передавать определенные типы данных при каждом вызове.
Процедуры и структурированный код
Каждая строка исполняемого кода в приложении должна находиться в некоторых процедурах, таких как Main
, calculate
или Button1_Click
. Если вы подразделяете большие процедуры на небольшие, приложение становится более читаемым.
Процедуры полезны для выполнения повторяющихся или общих задач, таких как часто используемые вычисления, обработка текста и управления, а также операции с базами данных. Вы можете вызвать процедуру из многих разных мест в коде, чтобы вы могли использовать процедуры в качестве стандартных блоков для приложения.
Структурирование кода с помощью процедур дает следующие преимущества:
Процедуры позволяют разбить программы на дискретные логические единицы. Вы можете легко отлаживать отдельные единицы, чем можно отлаживать всю программу без процедур.
После разработки процедур для использования в одной программе их можно использовать в других программах, часто без изменений. Это помогает избежать дублирования кода.