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

Процедура — это блок операторов Visual Basic, заключенных в оператор объявления (Function, Sub, Operator, Get) Setи соответствующее End объявление. Все исполняемые инструкции в Visual Basic должны находиться в некоторых процедурах.

Вызов процедуры

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

Возврат из процедуры

После завершения процедуры она возвращает управление вызывающему коду. Для этого он может использовать оператор Return, соответствующий оператор exit для процедуры или оператор конечного <ключевого слова> процедуры. Затем управление передается в вызывающий код, следующий за точкой вызова процедуры.

  • При использовании оператора 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 определяются параметры типа в дополнение к обычным параметрам процедуры. Это позволяет передавать параметры определенного типа из вызывающего кода при каждом вызове.

Процедуры и структурированный код

Каждая строка исполняемого кода в приложении должна находиться внутри некоторой процедуры, такой как Main, calculate или Button1_Click. Если разделить большие процедуры на более мелкие, код будет более удобным для чтения.

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

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

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

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

См. также раздел