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


Процедуры в Visual Basic

Процедура — это блок инструкций 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. Если вы подразделяете большие процедуры на небольшие, приложение становится более читаемым.

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

Структурирование кода с помощью процедур дает следующие преимущества:

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

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

См. также