Parâmetros Opcionais

Você pode especificar que um parâmetro de procedimento é opcional e nenhum argumento precisa ser fornecido para ele quando o procedimento é chamado.Parâmetros opcionais são indicados pela palavra-chave Optional na definição do procedimento.As seguintes regras se aplicam:

  • Cada parâmetro opcional na definição do procedimento deve especificar um valor padrão.

  • O valor padrão para um parâmetro opcional deve ser uma expressão constante.

  • Todo parâmetro seguindo um parâmetro opcional na definição do procedimento também deve ser opcional.

A sintaxe a seguir mostra uma declaração de procedimento com um parâmetro opcional.

Sub sub name(ByVal parameter 1 As data type 1, Optional ByVal parameter 2 As data type 2 = default value)

Chamando procedimentos com parâmetros opcionais

Quando você chamar um procedimento com um parâmetro opcional, você pode escolher se deseja fornecer o argumento.Caso contrário, o procedimento usa o valor padrão declarado para esse parâmetro.

Quando você omite um ou mais argumentos opcionais no lista de argumentos, você use sucessivas vírgulas para marcar as posições.A chamada exemplo a seguir fornece os primeiro e o quarto argumentos, mas não o segundo ou terceiro:

Call sub name(argument 1, , , argument 4)

Para determinar se um argumento opcional está presente

Um procedimento não pode detectar no tempo de execução se um determinado argumento foi omitido ouo código de chamada forneceu explicitamente o valor padrão.Se você precisar fazer essa distinção, você pode definir um valor improvável como o padrão.O procedimento a seguir define o ,parâmetro opcional officee testa seu valor padrão, QJZ, para ver se ele foi omitido na chamada:

Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
    If office = "QJZ" Then
        Debug.WriteLine("office not supplied -- using Headquarters")
        office = "Headquarters"
    End If
    ' Insert code to notify headquarters or specified office.
End Sub

Se o parâmetro opcional é um tipo de referência como umq String, você pode usar Nothing como a valor padrão, desde que não seja um valor esperado para o argumento.

Parâmetros opcionais e sobrecarga

Outra maneira para definir um procedimento com parâmetros opcionais é usar a sobrecarga.Se você tiver um parâmetro opcional, você pode definir duas versões sobrecarregadas do procedimento, uma aceitando o parâmetro e um sem ele.Essa abordagem torna-se mais complicada a medida que o número de parâmetros opcionais aumenta.No entanto, sua vantagem é que você pode ter certeza absoluta se o programa de chamada forneceu cada argumento opcional.

Consulte também

Tarefas

Como: Definir parâmetros opcionais para um procedimento

Como: telefonar um procedimento que tem parâmetros opcionais

Como: Determine se foi fornecido um parâmetro opcional

Conceitos

Procedimentos no Visual Basic

Parâmetros do procedimento e argumentos

Argumento Passing By valor e por referência

Passagem de Argumentos por Posição e Nome

Matrizes de parâmetro

Sobrecarga de procedimento

Referência

Opcional (Visual Basic)

ParamArray