Compartilhar via


Como definir um parâmetro para um procedimento (Visual Basic)

Um parâmetro permite que o código de chamada passe um valor para o procedimento quando ele o chama. Você declara cada parâmetro para um procedimento da mesma forma que declara uma variável, especificando seu nome e tipo de dados. Você também especifica o mecanismo de passagem e se o parâmetro é opcional.

Para obter mais informações, consulte Parâmetros e argumentos de procedimento.

Para definir um parâmetro de procedimento

  1. Na declaração de procedimento, adicione o nome do parâmetro à lista de parâmetros do procedimento, separando-o de outros parâmetros por vírgulas.

  2. Decida o tipo de dados do parâmetro.

  3. Siga o nome do parâmetro com uma As cláusula para especificar o tipo de dados.

  4. Decida o mecanismo de passagem desejado para o parâmetro. Normalmente, você passa um parâmetro por valor, a menos que queira que o procedimento seja capaz de alterar seu valor no código de chamada.

  5. Preceda o nome do parâmetro com ByVal ou ByRef para especificar o mecanismo de passagem. Para obter mais informações, consulte Diferenças entre passar um argumento por valor e por referência.

  6. Se o parâmetro for opcional, preceda o mecanismo de passagem com Opcional e adicione ao tipo de dado do parâmetro um sinal de igual (=) e um valor padrão.

    O exemplo a seguir define o esboço de um Sub procedimento com três parâmetros. Os dois primeiros são necessários e o terceiro é opcional. As declarações de parâmetro são separadas na lista de parâmetros por vírgulas.

    Sub updateCustomer(ByRef c As customer, ByVal region As String, 
      Optional ByVal level As Integer = 0)
      ' Insert code to update a customer object.
    End Sub
    

    O primeiro parâmetro aceita um customer objeto, e updateCustomer pode atualizar diretamente a variável passada para c porque o argumento é passado PorRef. O procedimento não pode alterar os valores dos dois últimos argumentos porque eles são passados por ByVal.

    Se o código de chamada não fornecer um valor para o parâmetro level, o Visual Basic o definirá como o valor padrão de 0.

    Se a opção de verificação de tipo (Option Strict Statement) for Off, a cláusula As será opcional quando você definir um parâmetro. No entanto, se qualquer parâmetro usar uma As cláusula, todos eles deverão usá-la. Se a opção de verificação de tipo for On, a As cláusula será necessária para cada definição de parâmetro.

    Especificar tipos de dados para todos os elementos de programação é conhecido como tipagem forte. Quando você define Option Strict On, o Visual Basic impõe uma digitação forte. Isso é altamente recomendado, pelos seguintes motivos:

    • Ele habilita o suporte do IntelliSense para suas variáveis e parâmetros. Isso permite que você visualize suas propriedades e outros membros enquanto escreve seu código.

    • Ele permite que o compilador execute a verificação de tipo. Ajuda a capturar instruções que podem falhar em tempo de execução devido a erros como estouro. Ele também captura chamadas para métodos em objetos que não dão suporte a eles.

    • Isso resulta em uma execução mais rápida do código. Um motivo para isso é que, se você não especificar um tipo de dados para um elemento de programação, o compilador do Visual Basic atribuirá o tipo a Object ele. O seu código compilado pode ter que alternar a conversão entre Object e outros tipos de dados, o que reduz o desempenho.

Consulte também