Escolar Documentos
Profissional Documentos
Cultura Documentos
Especifica os parâmetros do procedimento quando é chamado. Vários parâmetros são separados por
vírgulas. A seguir está a sintaxe de um parâmetro.
Sintaxe
[ <attributelist> ] [ Optional ] [{ ByVal | ByRef }] [ ParamArray ]
parametername[( )] [ As parametertype ] [ = defaultvalue ]
Partes
attributelist
Opcional. Lista de atributos que se aplicam a esse parâmetro. Você deve colocar o a lista de
atributos entre colchetes angulares ("<"e">").
Optional
Opcional. Especifica que esse parâmetro não é necessário quando o procedimento é chamado.
ByVal
Opcional. Especifica que o procedimento não é possível substituir ou reatribuir o elemento variável
subjacente ao argumento correspondente no código de chamada.
ByRef
Opcional. Especifica que o procedimento pode modificar o elemento variável subjacente no código
de chamada da mesma forma que o código de chamada pode.
ParamArray
Opcional. Especifica que o último parâmetro na lista de parâmetros é uma matriz opcional de
elementos do tipo de dados especificado. Isso permite que o código de chamada passe um número
arbitrário de argumentos para o procedimento.
parametername
Necessário. Nome da variável local representando o parâmetro.
parametertype
Necessário se Option Strict é On. Tipo de dados da variável local representando o parâmetro.
defaultvalue
Necessário para Optional parâmetros. Qualquer expressão de constante ou constante que é
avaliada como o tipo de dados do parâmetro. Se o tipo é Object, ou uma classe, interface, matriz
ou estrutura, o valor padrão só pode ser Nothing.
Comentários
Parâmetros estão entre parênteses e separados por vírgulas. Um parâmetro pode ser declarado com
qualquer tipo de dados. Se você não especificar parametertype, o padrão é Object.
Quando o código de chamada chama o procedimento, ele passa um argumento para cada parâmetro
necessário. Para obter mais informações, consulte diferenças entre parâmetros e argumentos.
O argumento que o código de chamada passa para cada parâmetro é um ponteiro para um elemento
subjacente no código de chamada. Se esse elemento é invariável (uma constante, literal,
enumeração ou expressão), é impossível para qualquer código mudá-lo. Se for um variável
elemento (uma variável declarada, campo, propriedade, elemento de matriz ou elemento de
estrutura), o código de chamada pode alterá-la. Para obter mais informações, consulte diferenças
entre modificáveis e não modificáveis argumentos.
Se um elemento variável é passado ByRef, o procedimento pode alterá-lo também. Para obter mais
informações, consulte diferenças entre passar um argumento por valor e por referência.
Regras
Parênteses. Se você especificar uma lista de parâmetros, você deve colocá-la entre
parênteses. Se não houver nenhum parâmetro, você ainda pode usar parênteses delimitando
uma lista vazia. Isso melhora a legibilidade do código ao ver que o elemento é um
procedimento.
Parâmetros opcionais. Se você usar o Optional modificador em um parâmetro, todos os
parâmetros subsequentes na lista também devem ser opcionais e ser declarados usando o
Optional modificador.
Você não pode usar ambos Optional e ParamArray na mesma lista de parâmetros.
Exemplo
A exemplo a seguir mostra uma Function procedimento que define dois parâmetros.
VB
Public Function howMany(ByVal ch As Char, ByVal st As String) As Integer
End Function
Dim howManyA As Integer = howMany("a"c, "How many a's in this string?")