Nie można zastosować parametru "ParamArray" do pierwszego parametru metody rozszerzenia

Nie można zastosować parametru "ParamArray" do pierwszego parametru metody rozszerzenia. Pierwszy parametr określa typ do rozszerzenia.

Pierwszy parametr metody rozszerzenia określa typ danych, który rozszerza metoda. W związku z tym pierwszy parametr jest wymagany i nie może być opcjonalny. Ponieważ tablica parametrów jest automatycznie opcjonalna, jest nieprawidłowa jako pierwszy argument metody rozszerzenia.

Uwaga

Po wykonaniu metody wystąpienie rozszerzonego typu danych, które wywołuje metodę, staje się argumentem pierwszego parametru metody. Na przykład wystąpienie greeting w greeting.Print() pliku jest argumentem pierwszego parametru , strw metodzie Public Sub Print (ByVal str As String)rozszerzenia .

Identyfikator błędu: BC36554

Aby poprawić ten błąd

  • Jeśli tablica parametrów nie określa typu danych, który chcesz rozszerzyć, dodaj nowy pierwszy parametr określający ten typ.

    <Extension()>
    Public Sub AddTo(ByRef str As String, ByVal ParamArray addOns() As String)
    ' Concatenate the strings in addOns to str.
    End Sub
    
  • Jeśli tablica parametrów określa typ danych, który chcesz rozszerzyć, rozważ zmianę go na tablicę regularną, wymagając argumentu zamiast tablicy parametrów. Tablice regularne można rozszerzyć.

    <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
    

Zobacz też