Метод - это член класса, который реализует определенные вычисления или действия над объектом или классом.
method-declaration:
sub-declaration
function-declaration
sub-declaration:
attributesopt method-modifiersopt
Sub member-name ( formal-parameter-listopt ) ; method-localsopt
Begin method-body End Sub member-nameopt ;
function-declaration:
attributesopt method-modifiersopt
Function member-name ( formal-parameter-listopt ) : return-type ; method-localsopt
Begin method-body End Function member-nameopt ;
method-modifiers:
method-modifier
method-modifiers method-modifier
method-modifier:
New
Public
Protected
Friend
Private
Shared
Virtual
Final
Override
Abstract
return-type:
type
member-name:
identifier
interface-type . identifier
method-locals:
method-locals-declarations
method-locals-declarations:
method-locals-declaration
method-locals-declarations method-locals-declaration
method-local-declaration:
Var local-variables : type local-variable-initializeropt ;
local-variables:
identifier
local-variables , identifier
local-variable-initializer:
= expression
= array-initializer
method-body:
block
Определение метода является корректным если выполняются все последующие условия:
Определение содержит допустимую комбинацию модификаторов доступа.
Каждый модификатор встречается в определении не более одного раза.
Определение содержит не более одного из трех следующих модификаторов: Shared, Virtual и Override.
Определение содержит не более одного из следующих модификаторов: New и Override.
Если определение содержит модификатор Abstract оно не должно содержать следующих модификаторов: Shared, Virtual и Final.
Если определение содержит модификатор Private оно не должно содержать следующих модификаторов: Virtual, Override и Abstract.
Если определение содержит модификатор Final, то оно также содержит модификатор Override.
При определении абстрактных методов указывается только заголовок метода, определение всех остальных методов включает в себя тело метода, которое содержит операторы выполняемые при вызове метода.
Имя и список формальных параметров метода определяют его сигнатуру.
Тело метода состоит из блока операторов. Абстрактные методы не имеют реализации соответственно определения таких методов не содержат тела.
В случае если метод не возвращает значения, то не допустимо в его теле использовать оператор возврата Return с указанием возвращаемого значения. В случае если для метода определено возвращаемое значение, то каждый оператор возврата в теле такого метода должен содержать выражение тип которого может быть неявно приведен к типу возвращаемого значения.
Дополнительная информация представлена в следующих подразделах:
См.также: