Compartilhar via


Sub-rotina demonstrativo (Visual Basic)

Declara o nome, parâmetros e código que definem um procedimento Sub.

[ <attributelist> ] [ Partial ] [ accessmodifier ] [ proceduremodifiers ] [ Shared ] [ Shadows ] 
Sub name [ (Of typeparamlist) ] [ (parameterlist) ] [ Implements implementslist | Handles eventlist ]
    [ statements ]
    [ Exit Sub ]
    [ statements ]
End Sub

Partes

  • attributelist
    Opcional.Veja Lista de Atributos.

  • Partial
    Opcional.Indica a definição de um método parcial.SeeMétodos parciais.

  • accessmodifier
    Opcional.Pode ser um dos seguintes:

    SeeNíveis de acesso em Visual Basic.

  • proceduremodifiers
    Opcional.Pode ser um dos seguintes:

  • Shared
    Opcional.Consulte Compartilhada.

  • Shadows
    Opcional.Acesse Shadows.

  • name
    Obrigatório.Nome do procedimento.SeeNomes de Elementos Declarados.

  • typeparamlist
    Opcional.Lista de parâmetros de tipo para um procedimento genérico.Consulte Type List.

  • parameterlist
    Opcional.Lista de nomes variável local que representam os parâmetros deste procedimento.SeeLista de parâmetros.

  • Implements
    Opcional.Indica que essa propriedade implementa uma ou mais procedimentos Sub, cada uma delas definida em uma interface implementada por essa classe ou estrutura contendo o procedimento.SeeImplementa Declaração.

  • implementslist
    Necessário se Implements é fornecido.Lista de procedimentos Sub que serão implementados

    implementedprocedure [ , implementedprocedure ... ]

    Cada implementedprocedure possui a seguinte sintaxe e partes:

    interface.definedname

    Parte

    Descrição

    interface

    Obrigatório.Nome de uma interface implementada por essa classe ou estrutura contendo o procedimento.

    definedname

    Obrigatório.Nome pelo qual o procedimento é definido em interface.

  • Handles
    Opcional.Indica que esse procedimento pode manipular um ou mais eventos específicos.SeeTrata.

  • eventlist
    Necessário se Handles é fornecido.Lista de eventos que esse procedimento manipula.

    eventspecifier [ , eventspecifier ... ]

    Cada eventspecifier possui a seguinte sintaxe e partes:

    eventvariable.event

    Parte

    Descrição

    eventvariable

    Obrigatório.Variável de objeto declarada com o tipo de dados da classe ou estrutura que gera o evento.

    event

    Obrigatório.Nome do evento que esse procedimento manipula.

  • statements
    Opcional.Bloco de instruções para executar este procedimento dentro do.

  • EndSub
    Finaliza a definição desse procedimento.

Comentários

Todos os códigos executáveis deverão estar dentro de um procedimento.Use um Sub Quando não é necessário retornar um valor para o código de chamada de procedimento. Use um Function procedimento quando precisar retornar um valor.

Você pode usar Sub somente no nível de módulo. Isso significa que o declaração de contexto para obter um procedimento sub deve ser uma classe, estrutura, módulo ou interface e não pode ser um arquivo de fonte, namespace, procedimento ou bloco.Para obter mais informações, consulte Declaração de contextos e níveis de acesso padrão.

Procedimentos Sub têm acesso público como padrão.Você pode ajustar os níveis de acesso com os modificadores de acesso.

Regras

  • Implementação Se este procedimento usa o Implements palavra-chave, o recipiente classe ou estrutura deve ter um Implements demonstrativo imediatamente seguinte a Class ou Structure demonstrativo. A instrução Implements deve incluir cada interface especificada em implementslist.No entanto, o nome pelo qual uma interface define a Sub (em definedname) não precisa ser o mesmo que o nome do procedimento (em name).

Comportamento

  • Retornando a partir de um Procedimento. Quando o procedimento Sub retorna para o código de chamada, a execução continua com a instrução após a instrução que o chamou.

    O Exit Sub e instruções Return causam saída imediata de um procedimento Sub.Qualquer número de declarações Exit Sub e Return pode aparecer em qualquer lugar no procedimento, e você pode misturar declarações Exit Sub e Return.

    O exemplo a seguir mostra um retorno de um Sub procedimento.

    Sub mySub(ByVal q As String)
        Return
    End Sub 
    
  • Chamando um procedimento. A Sub procedimento, como um Function procedimento, é um procedimento separado que pode receber parâmetros e executar uma série de instruções. No entanto, ao contrário de um Function procedimento, que retorna um valor, um Sub procedimento não pode ser usado em uma expressão.

    You telefonar a Sub procedimento usando o nome do procedimento, seguido de lista de argumentos entre parênteses, em uma demonstrativo. Você pode omitir parênteses somente se você não está fornecendo quaisquer argumentos.No entanto, seu código é mais legível se você sempre incluir os parênteses.

    Opcionalmente, você pode usar o Call demonstrativo para telefonar um Sub procedimento. Isso pode melhorar a legibilidade do código.

Solução de problemas

Ordem de Execução. Visual Basic, às vezes, reorganiza expressões aritméticas para aumentar a eficiência interna.Por esse motivo, se sua lista de argumentos contém expressões que telefonar outros procedimentos não se pode confiar neles sendo telefonar ed em uma ordem específica.

Exemplo

O exemplo a seguir utiliza o Sub demonstrativo para definir o nome, parâmetros e o código que formulário o corpo de um Sub procedimento.

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

Solucionando problemas de procedimentos

Como: Criar um método parcial (Visual Basic)

Conceitos

Matrizes de parâmetro

Métodos parciais

Referência

Implementa Declaração

Instrução Function (Visual Basic)

Lista de parâmetros

Instrução Dim (Visual Basic)

Chamar demonstrativo (Visual Basic)

Of