Lista de parâmetros
Especifica os parâmetros do procedimento quando é chamado.Múltiplos parâmetros são separados por vírgulas.O seguinte trecho é a sintaxe para um parâmetro.
[ <attributelist> ] [ Optional ] [{ ByVal | ByRef }] [ ParamArray ]
parametername[( )] [ As parametertype ] [ = defaultvalue ]
Partes
attributelist
Opcional.Lista de atributos que se aplicam a esse parâmetro.Você delimitar a Lista de atributos entre colchetes ("<" e ">").Optional
Opcional.Especifica que este parâmetro não é necessário quando o procedimento é chamado.ByVal
Opcional.Especifica que o procedimento não pode substituir or reatribuir o elemento variável dando suporte ao argumento correspondente num código de chamada.ByRef
Opcional.Especifica que o procedimento pode modificar o elemento variável oculto no código de chamada da mesma maneira que o código de chamada em si pode.ParamArray
Opcional.Especifica que o último parâmetro na lista de parâmetros é um array opcional de elementos do tipo de dados especificados.Isso permite que o código de chamada passe um número arbitrário de argumentos ao procedimento.parametername
Obrigatório.Nome da variável local representando o parâmetro.parametertype
Necessário se Option Strict estiver On.Tipo de dados da variável local representando o parâmetro.defaultvalue
Necessário para parâmetros Optional.Qualquer constante ou expressão constante que avalia o tipo de dados do parâmetro.Se o tipo é Object, ou uma classe, interface, array, ou estrutura, o valor padrão pode ser apenas Nothing.
Comentários
Parâmetros são rodeados 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 é Object.
Quando o código de chamada chama o procedimento, ele passa um argumento para cada parâmetro requisitado.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 oculto no código de chamada.Se este elemento éinvariável (uma constante, literal, enumeração, ou expressão), é impossível para qualquer código mudá-lo.Se é um elemento variável (uma variável declarada, campo, propriedade, elemento de array, ou elemento de estrutura), o código de chamada pode mudá-lo.Para obter mais informações, consulte Diferenças entre argumentos Modificáveis e Não Modificáveis.
Se um elemento variável é passado ByRef, o procedimento pode mudá-lo da mesma maneira.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âmetro, você deve delimitá-la entre parênteses.Se não há parâmetros, você ainda pode usar parênteses delimitando uma lista vazia.Isto melhora a legibilidade se seu código deixando mais claro que o elemento é um procedimento.
**Parâmetros opcionais.**Se você usar o modificador Optional num parâmetro, todos os parâmetros subsequentes na lista também devem ser opcionais e serem declarados usando o modificador Optional.
Toda declaração de parâmetro opcional deve fornecer a cláusula defaultvalue.
Arrays de parâmetro. Você deve especificar ByVal para um parâmetro ParamArray.
Você não pode usar ambos Optional e ParamArray na mesma lista de parâmetros.
Mecanismo de Passagem. O mecanismo padrão para todos os argumentos é ByVal, o que sifnifica que o procedimento não pode mudar o elemento variável oculto.Entretanto, se o elemento é um tipo de referência, o procedimento pode modificar os conteúdos ou membros do objeto oculto, mesmo se ele mesmo não pode substituir ou reatribuir o objeto.
Nomes de parâmetros. Se o tipo de dados do parâmetro é um array, coloque parênteses imeditamente depois de parametername.Para mais informações sobre nomes de parâmetros, consulte Nomes de Elementos Declarados.
Exemplo
O seguinte exemplo mostra um procedimento Function 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?")
Consulte também
Tarefas
Como: Quebrar e combinar instruções no código
Conceitos
Referência
Instrução Function (Visual Basic)
Sub-rotina demonstrativo (Visual Basic)