Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Процедура Function — это ряд инструкций Visual Basic, заключенных в Function инструкции и End Function инструкции. Процедура Function выполняет задачу, а затем возвращает контроль в вызывающий код. При возврате элемента управления он также возвращает значение вызывающему коду.
Каждый раз, когда процедура вызывается, ее операторы выполняются, начиная с первой исполняемой инструкции после Function инструкции и заканчивая первой End FunctionExit Functionили Return обнаруженной инструкцией.
Процедуру Function можно определить в модуле, классе или структуре. Это по Public умолчанию означает, что вы можете вызывать его из любого места в приложении с доступом к модулю, классу или структуре, в которой он определен.
Процедура Function может принимать аргументы, такие как константы, переменные или выражения, передаваемые в него вызывающим кодом.
Синтаксис объявления
Синтаксис объявления Function процедуры выглядит следующим образом:
[Modifiers] Function FunctionName [(ParameterList)] As ReturnType
[Statements]
End Function
Модификаторы могут указывать уровень доступа и сведения о перегрузке, переопределении, совместном использовании и тени. Дополнительные сведения см. в инструкции function.
Вы объявляете каждый параметр таким же образом, как и для вложенных процедур.
Тип данных
Каждая процедура имеет тип данных так же, как и каждая Function переменная. Этот тип данных указывается As предложением в Function инструкции и определяет тип данных значения, возвращаемого функцией в вызывающий код. Ниже приведены примеры объявлений.
Function Yesterday() As Date
End Function
Function FindSqrt(radicand As Single) As Single
End Function
Дополнительные сведения см. в разделе "Части" в инструкции функции.
Возвращаемые значения
Function Значение, которое процедура отправляет обратно в вызывающий код, называется возвращаемым значением. Процедура возвращает это значение одним из двух способов:
Он использует инструкцию
Returnдля указания возвращаемого значения и немедленно возвращает элемент управления вызывающей программе. Это показано в следующем примере.Function FunctionName [(ParameterList)] As ReturnType ' The following statement immediately transfers control back ' to the calling code and returns the value of Expression. Return Expression End FunctionОн назначает значение собственному имени функции в одной или нескольких инструкциях процедуры. Элемент управления не возвращается в вызывающую программу, пока не будет выполнена
Exit FunctionилиEnd Functionинструкция. Это показано в следующем примере.Function FunctionName [(ParameterList)] As ReturnType ' The following statement does not transfer control back to the calling code. FunctionName = Expression ' When control returns to the calling code, Expression is the return value. End Function
Преимущество назначения возвращаемого значения имени функции заключается в том, что элемент управления не возвращается из процедуры до тех пор, пока он не столкнется с оператором или Exit Function операторомEnd Function. Это позволяет при необходимости назначить предварительное значение и настроить его позже.
Дополнительные сведения о возврате значений см. в инструкции function. Сведения о возврате массивов см. в разделе "Массивы".
Синтаксис вызова
Вы вызываете процедуру Function , включив ее имя и аргументы в правой части инструкции назначения или в выражении. Необходимо указать значения для всех аргументов, которые не являются необязательными, и необходимо заключить список аргументов в скобки. Если аргументы не указаны, можно также опустить круглые скобки.
Синтаксис вызова Function процедуры выглядит следующим образом.
Список аргументов lvalue=functionname[()]
If ((
имя[( функции список аргументов)] / 3) <=выражение) Then
При вызове Function процедуры не требуется использовать возвращаемое значение. Если это не так, выполняются все действия функции, но возвращаемое значение игнорируется.
MsgBox часто вызывается таким образом.
Иллюстрация объявления и вызова
Function Следующая процедура вычисляет самую длинную сторону или гипотенузу правого треугольника, учитывая значения для других двух сторон.
Function Hypotenuse(side1 As Double, side2 As Double) As Double
Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function
В следующем примере показан типичный вызов hypotenuse.
Dim testLength, testHypotenuse As Double
testHypotenuse = Hypotenuse(testLength, 10.7)
См. также
- Процедуры
- Подпрограммы
- Процедуры свойств
- Процедуры операторов
- Параметры и аргументы процедуры
- Оператор Function
- Практическое руководство. Создание процедуры, возвращающей значение
- Практическое руководство. Возврат значения из процедуры
- Практическое руководство. Вызов процедуры, возвращающей значение