Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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
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.
Decida o tipo de dados do parâmetro.
Siga o nome do parâmetro com uma
As
cláusula para especificar o tipo de dados.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.
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.
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, eupdateCustomer
pode atualizar diretamente a variável passada parac
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áusulaAs
será opcional quando você definir um parâmetro. No entanto, se qualquer parâmetro usar umaAs
cláusula, todos eles deverão usá-la. Se a opção de verificação de tipo forOn
, aAs
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 entreObject
e outros tipos de dados, o que reduz o desempenho.