'ParamArray' não pode ser aplicado ao primeiro parâmetro de um método de extensão
Mensagem de erro
'ParamArray' 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.Portanto, o primeiro parâmetro é necessário e não pode ser opcional.Como uma matriz de parâmetros é automaticamente opcional, não é válida como o primeiro argumento de um método de extensão.
![]() |
---|
Quando o método for executado, a instância do tipo de dados estendidos que chama o método torna-se o argumento para o primeiro parâmetro do método.Por exemplo, a instância greeting em greeting.Print() é o argumento para o primeiro parâmetro str, no método de extensão Public Sub Print (ByVal str As String). |
ID de erro: BC36554
Para corrigir este erro
Se a matriz de parâmetros não especificar o tipo de dados que você deseja estender, adicione um novo primeiro parâmetro que especifica este tipo.
<Extension()> Public Sub AddTo(ByRef str As String, ByVal ParamArray addOns() As String) ' Concatenate the strings in addOns to str. End Sub
Se a matriz de parâmetros especificar o tipo de dados que você deseja estender, considere alterá-la para uma matriz regular, que requer um argumento, em vez de uma matriz de parâmetros.Matrizes regulares podem ser estendidas.
<Extension()> Public Function Sum(ByVal ints() As Integer) As Integer Dim total As Integer = 0 For Each i As Integer In ints total = total + i Next i Return total End Function