Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Especifica os parâmetros que um procedimento espera quando é chamado. Vários parâmetros são separados por vírgulas. A sintaxe de um parâmetro é a seguinte.
Sintaxe
[ <attributelist> ] [ Optional ] [{ ByVal | ByRef }] [ ParamArray ]
parametername[( )] [ As parametertype ] [ = defaultvalue ]
Partes
attributelist
Opcional. Lista de atributos que se aplicam a este parâmetro. Você deve colocar 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 pode 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 próprio código de chamada.
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
Obrigatório Nome da variável local que representa o parâmetro.
parametertype
Obrigatório se Option Strict for On. Tipo de dados da variável local que representa o parâmetro.
defaultvalue
Necessário para Optional parâmetros. Qualquer expressão constante ou constante que seja avaliada de acordo com o tipo de dados do parâmetro. Se o tipo for Object, ou uma classe, interface, matriz ou estrutura, o valor padrão só poderá ser Nothing.
Observações
Os parâmetros são cercados por 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 será 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 for não variável (uma constante, literal, enumeração ou expressão), é impossível para qualquer código alterá-lo. Se for um elemento variável (uma variável declarada, campo, propriedade, elemento de matriz ou elemento de estrutura), o código de chamada pode alterá-lo. Para obter mais informações, consulte Diferenças entre argumentos modificáveis e não modificáveis.
Se um elemento variável for passado ByRef, o procedimento também pode alterá-lo. 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, deverá colocá-la entre parênteses. Se não houver parâmetros, você ainda poderá usar parênteses entre uma lista vazia. Isso melhora a legibilidade do seu código, esclarecendo que o elemento é um procedimento.
Parâmetros opcionais. Se você usar o
Optionalmodificador em um parâmetro, todos os parâmetros subsequentes na lista também deverão ser opcionais e declarados usando oOptionalmodificador.Todas as declarações de parâmetros opcionais devem fornecer a
defaultvaluecláusula.Para obter mais informações, consulte Parâmetros opcionais.
Matrizes de parâmetros. Você deve especificar
ByValpara umParamArrayparâmetro.Não é possível usar ambos
OptionaleParamArrayna mesma lista de parâmetros.Para obter mais informações, consulte Matrizes de parâmetros.
mecanismo de passagem. O mecanismo padrão para cada argumento é
ByVal, o que significa que o procedimento não pode alterar o elemento variável subjacente. No entanto, se o elemento for um tipo de referência, o procedimento pode modificar o conteúdo ou os membros do objeto subjacente, mesmo que não possa substituir ou reatribuir o próprio objeto.Nomes de parâmetros. Se o tipo de dados do parâmetro for uma matriz, siga
parameternameimediatamente entre parênteses. Para obter mais informações sobre nomes de parâmetros, consulte Nomes de elementos declarados.
Exemplo
O exemplo a seguir mostra um Function procedimento que define dois parâmetros.
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?")