Lista de parâmetros (Visual Basic)

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 (Visual Basic) 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 os parâmetros e argumentos (Visual Basic).

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 os argumentos podem ser modificadas e Nonmodifiable (Visual Basic).

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 pelo valor e por referência (Visual Basic).

Regras

  • Entre 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 Optional modificador em um parâmetro, todos os parâmetros subseqüentes na lista também deve ser opcionais e ser declarados usando a Optional modificador.

    Toda declaração de parâmetro opcional deve fornecer a cláusula defaultvalue.

    Para obter mais informações, consulte Parâmetros opcionais (Visual Basic).

  • Arrays de parâmetro. Você deve especificar ByVal para um ParamArray parâmetro.

    Você não pode usar ambos Optional e ParamArray na mesma lista de parâmetros.

    Para obter mais informações, consulte Matrizes de parâmetros (Visual Basic).

  • Mecanismo de Passagem. O mecanismo padrão para cada argumento é ByVal, que significa que o procedimento não é possível alterar o elemento variável subjacente.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âmetro. Se o tipo de dados do parâmetro for uma matriz, execute parametername imediatamente por parênteses.Para mais informações sobre nomes de parâmetros, consulte Nomes de elementos declarados (Visual Basic).

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 (Visual Basic)

Referência

Instrução de função (Visual Basic)

Instrução Sub (Visual Basic)

Instrução Declare

Declaração Structure

Opção Strict Statement

Atributos (C# e Visual Basic)

DllImportAttribute