Застряли в концепции "функции" в VB? Если да, прочтите это руководство, чтобы изучить так называемые конструкции «функции» в парадигме VB.
Шаги
Шаг 1. Что такое функция?
- Используйте процедуру Function, когда вам нужно вернуть значение в вызывающий код.
- Сама функция имеет тип, и функция будет возвращать значение вызывающей подпрограмме на основе кода, который она содержит.
Шаг 2. Как объявить функцию?
- Вы можете определить процедуру функции только на уровне модуля. Это означает, что контекст объявления функции должен быть классом, структурой, модулем или интерфейсом и не может быть исходным файлом, пространством имен, процедурой или блоком.
- Функция объявляется точно так же, как подпрограмма, за исключением использования ключевого слова «Function» вместо «Sub».
- По умолчанию функциональные процедуры имеют общий доступ. Вы можете настроить их уровни доступа с помощью модификаторов доступа.
Шаг 3. Как вызвать функцию?
- Вы вызываете процедуру Function, используя в выражении имя процедуры, за которым следует список аргументов в круглых скобках.
- Вы можете опустить круглые скобки, только если вы не предоставляете никаких аргументов. Однако ваш код будет более читабельным, если вы всегда будете использовать круглые скобки.
- Функцию также можно вызвать с помощью оператора Call, и в этом случае возвращаемое значение игнорируется.
- Чтобы вернуть значение, присвойте имя функции значение правильного типа, как если бы это была переменная.
Синтаксис
Декларация
[модификатор доступа] [модификаторы процедуры] [Shared] Имя функции [(Of typeparamlist)] [(список параметров)] [Как тип возврата] [операторы] [Функция выхода] [операторы] Конечная функция
Вызов
'Без вызова Имя_функции ()' С Вызовом Имя_функции ()
Пример
Пример функции, которая складывает два числа, показан ниже
Частная функция Добавить (ByVal x как целое, ByVal y как целое) как целое Dim Res как целое Res = x + y Add = Res End Function Private Sub Form_Load () Dim a As Integer Dim b As Integer Dim c As Integer a = 32 b = 64 c = Add (a, b) MsgBox ("Sum is:" & c) End Sub