Partilhar via


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

Aplicação de Atributos

Referência

Instrução Function (Visual Basic)

Sub-rotina demonstrativo (Visual Basic)

Instrução Declare

Instrução Structure

Opção declaração estrito

DllImportAttribute

Outros recursos

Atributos no Visual Basic