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 para passar argumentos e se o parâmetro é opcional.

Para obter mais informações, confira 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 cláusula As para especificar o tipo de dados.

  4. Decida o mecanismo para passar argumentos 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 para passar argumentos. Para obter mais informações, confira Diferenças entre passar um argumento por valor e por referência.

  6. Se o parâmetro for opcional, preceda o mecanismo para passar argumentos com Opcional e siga o tipo de dados de parâmetro com um sinal de igual (=) e um valor padrão.

    O exemplo a seguir define a estrutura de tópicos de um procedimento Sub 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 objeto customer e updateCustomer pode atualizar diretamente a variável passada para c porque o argumento é passado por ByRef. 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á o valor padrão como 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 cláusula As, todos deverão usá-la. Se a opção de verificação de tipo for On, a cláusula As 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 tipagem forte. Isso é muito recomendado pelos seguintes motivos:

    • Habilita o suporte do IntelliSense para as variáveis e os parâmetros. Permite que você veja as propriedades e outros membros ao digitar o seu código.

    • 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.

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

Confira também