Bagikan melalui


'ParamArray' tidak dapat diterapkan ke parameter pertama dari metode ekstensi

'ParamArray' tidak dapat diterapkan ke parameter pertama dari metode ekstensi. Parameter pertama menentukan jenis mana yang diperluas.

Parameter pertama dari metode ekstensi menentukan jenis data yang diperluas metode. Oleh karena itu, parameter pertama diperlukan dan tidak boleh bersifat opsional. Karena array parameter secara otomatis bersifat opsional, array tersebut tidak valid sebagai argumen pertama dari metode ekstensi.

Catatan

Ketika metode dijalankan, instans jenis data yang diperluas yang memanggil metode akan menjadi argumen bagi parameter pertama metode. Misalnya, instans greeting di greeting.Print() adalah argumen untuk parameter pertama, str, dalam metode ekstensi Public Sub Print (ByVal str As String).

ID Kesalahan: BC36554

Untuk memperbaiki kesalahan ini

  • Jika array parameter tidak menentukan jenis data yang ingin Anda perluas, tambahkan parameter pertama baru yang menentukan jenis ini.

    <Extension()>
    Public Sub AddTo(ByRef str As String, ByVal ParamArray addOns() As String)
    ' Concatenate the strings in addOns to str.
    End Sub
    
  • Jika array parameter menentukan jenis data yang ingin Anda perluas, pertimbangkan untuk mengubahnya menjadi array reguler, yang memerlukan argumen, daripada array parameter. Array reguler dapat diperluas.

    <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
    

Lihat juga