Partilhar via


'Optional' não pode ser aplicado ao primeiro parâmetro de um método de extensão

Mensagem de erro

'Optional' não pode ser aplicado ao primeiro parâmetro de um método de extensão.O primeiro parâmetro especifica qual tipo a ser estendido.

O primeiro parâmetro de uma método de extensão especifica o tipo de dado a partir do qual o método estende.Quando o método é executado, o primeiro parâmetro é limitado à instância do tipo de dado que invoca o método.Portanto, o primeiro parâmetro é necessário e não pode ser opcional.

A restrição se aplica somente ao primeiro parâmetro.Other parameters can be optional or not, following the same rules as in any other method.Para obter mais informações, consulte Lista de parâmetros.

ID de erro: BC36553

Para corrigir este erro

  • If you want the current first parameter to specify the data type being extended, remove the Optional keyword.

  • If the current first parameter is a standard parameter to the method and you do not want it to represent the data type being extended, add a new first parameter.

Exemplo

The first parameter in the following example is the only indication that the Print method extends the String data type.Therefore, it cannot be optional.

<Extension()>
Public Sub Print (ByVal str As String)
    Console.WriteLine(str)
End Sub

Quando o método de extensão é chamado como segue, o parâmetro str no método está vinculado a greeting, a instância de String que chama Print.The compiler uses greeting as the argument to extension method Print.

    Dim greeting As String = "Hello"
    greeting.Print()

Consulte também

Tarefas

Como: Definir parâmetros opcionais para um procedimento

Conceitos

Métodos de extensão (Visual Basic)

Parâmetros Opcionais