Instrução Sub (Visual Basic)
Declares the name, parameters, and code that define a Sub procedure.
[ <attributelist> ] [ Partial ] [ accessmodifier ] [ proceduremodifiers ] [ Shared ] [ Shadows ]
Sub name [ (Of typeparamlist) ] [ (parameterlist) ] [ Implements implementslist | Handles eventlist ]
[ statements ]
[ Exit Sub ]
[ statements ]
End Sub
Parts
Term |
Definition |
attributelist |
Optional. See Attribute List. |
Partial |
Optional. Indica a definição de ummétodode parcial. See Métodos parciais (Visual Basic). |
accessmodifier |
Optional. Can be one of the following: |
proceduremodifiers |
Optional. Can be one of the following:
|
Shared |
Optional. See Shared. |
Shadows |
Optional. See Shadows. |
name |
Required. Name of the procedure. See Nomes de elementos declarados (Visual Basic). Para criar umprocedimento do construtorpara uma classe, definir o nome de um Suboprocedimento para o Newpalavra-chave. For more information, see Vida útil de objeto: Como os objetos são criados e destruídos (Visual Basic). |
typeparamlist |
Optional. List of type parameters for a generic procedure. See Type List. |
parameterlist |
Optional. List of local variable names representing the parameters of this procedure. See Lista de parâmetros (Visual Basic). |
Implements |
Optional. Indicates that this procedure implements one or more Sub procedures, each one defined in an interface implemented by this procedure's containing class or structure. See Implementa Declaração. |
implementslist |
Required if Implements is supplied. List of Sub procedures being implemented. implementedprocedure [ , implementedprocedure ... ] Each implementedprocedure has the following syntax and parts: interface.definedname
PartDescription
interface Required.Name of an interface implemented by this procedure's containing class or structure.
definedname Required.Name by which the procedure is defined in interface.
|
Handles |
Optional. Indicates that this procedure can handle one or more specific events. See Cláusula Handles (Visual Basic). |
eventlist |
Required if Handles is supplied. List of events this procedure handles. eventspecifier [ , eventspecifier ... ] Each eventspecifier has the following syntax and parts: eventvariable.event
PartDescription
eventvariable Required.Object variable declared with the data type of the class or structure that raises the event.
event Required.Name of the event this procedure handles.
|
statements |
Optional. Bloco de instruções para executar este procedimento. |
End Sub |
Terminates the definition of this procedure. |
Comentários
All executable code must be inside a procedure. Use um Sub procedimento quando você não precisa retornar um valor para o código de chamada. Use um Function procedimento quando precisar retornar um valor.
Você pode usar Sub somente no nível de módulo . Isso significa que o dedeclaraçãocontexto para uma sub-rotina procedimento deve ser uma classe, estrutura, móduloou interfacee não pode ser um arquivo de fonte , namespace, procedimentoou bloco. For more information, see Contextos de declaração e níveis de acesso padrão (Visual Basic).
Sub procedures default to public access. You can adjust their access levels with the access modifiers.
Rules
- Implementação. Se este procedimento usa o Implementspalavra-chave, o que contém uma classe ou estrutura deve ter um Implementsademonstrativo imediatamente seguinte sua Class ou Structuredemonstrativo. The Implements statement must include each interface specified in implementslist. However, the name by which an interface defines the Sub (in definedname) does not have to be the same as the name of this procedure (in name).
Behavior
Returning from a Procedure. Quando o Sub procedimento retorna para o código de chamada, a execução continua com a demonstrativo após a demonstrativo que chamou.
The Exit Sub and Return statements cause an immediate exit from a Sub procedure. Any number of Exit Sub and Return statements can appear anywhere in the procedure, and you can mix Exit Sub and Return statements.
O exemplo a seguir mostra um retorno de um Sub procedimento.
Sub mySub(ByVal q As String) Return End Sub
Chamar um procedimento. A Sub procedimento, como um Function procedimento, é um separado procedimento que pode aceitar parâmetros e executar uma série de instruções. No entanto, diferentemente de um Function procedimento, que retorna um valor, um Sub procedimento não pode ser usado em uma expressão.
Você chamar um Sub procedimento usando o nome do procedimento , seguido da lista de argumento entre parênteses, em uma demonstrativo. You can omit the parentheses only if you are not supplying any arguments. However, your code is more readable if you always include the parentheses.
Opcionalmente, você pode usar o Calldedemonstrativo para chamar um Subprocedimento. Isso pode melhorar a legibilidade do código.
Troubleshooting
Order of Execution. Visual Basic sometimes rearranges arithmetic expressions to increase internal efficiency. Por esse motivo, se a lista de argumento contém expressões que chamam outros procedimentos, você não pode confiar neles sendo chamado em uma ordem específica.
Exemplo
O exemplo a seguir usa a Subdedemonstrativo para definir o nome, parâmetros e o código desse formulário no corpo de um Subprocedimento.
Sub computeArea(ByVal length As Double, ByVal width As Double)
' Declare local variable.
Dim area As Double
If length = 0 Or width = 0 Then
' If either argument = 0 then exit Sub immediately.
Exit Sub
End If
' Calculate area of rectangle.
area = length * width
' Print area to Immediate window.
Debug.WriteLine(area)
End Sub
Consulte também
Tarefas
Como: Usar uma classe genérica (Visual Basic)
Solucionando problemas de procedimentos (Visual Basic)
Como: Criar um método parcial (Visual Basic)
Referência
Instrução Function (Visual Basic)
Lista de parâmetros (Visual Basic)