Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O termo «facultativo» não pode ser aplicado ao primeiro parâmetro de um método de extensão. O primeiro parâmetro especifica qual tipo estender.
O primeiro parâmetro de um método de extensão especifica o tipo de dados que o método estende. Quando o método é executado, o primeiro parâmetro é vinculado à instância do tipo de dados que invoca o método. Portanto, o primeiro parâmetro é necessário e não pode ser opcional.
A restrição aplica-se apenas ao primeiro parâmetro. Outros parâmetros podem ser opcionais ou não, seguindo as mesmas regras de qualquer outro método. Para obter mais informações, consulte Lista de parâmetros.
ID de erro: BC36553
Para corrigir este erro
Se desejar que o primeiro parâmetro atual especifique o tipo de dados que está sendo estendido, remova a
Optionalpalavra-chave.Se o primeiro parâmetro atual for um parâmetro padrão para o método e você não quiser que ele represente o tipo de dados que está sendo estendido, adicione um novo primeiro parâmetro.
Exemplo
O primeiro parâmetro no exemplo a seguir é a única indicação de que o Print método estende o tipo de String dados. Por conseguinte, não pode ser opcional.
<Extension()>
Public Sub Print (ByVal str As String)
Console.WriteLine(str)
End Sub
Quando o método de extensão é chamado da seguinte forma, str parâmetro no método é vinculado a greeting, a instância de String que chama Print. O compilador usa greeting como argumento para o método Printde extensão .
Dim greeting As String = "Hello"
greeting.Print()