Anggota ‘<classname>.<procedurename>‘ yang cocok dengan tanda tangan ini tidak dapat ditimpa karena kelas ‘<classname>‘ berisi beberapa anggota dengan nama dan tanda tangan yang sama: <signaturelist>

Prosedur atau properti mencoba mengambil alih prosedur atau properti yang diwariskan, tetapi penyusun menemukan lebih dari satu versi prosedur dasar atau properti dengan nama dan tanda tangan yang sama.

Kesalahan ini dapat terjadi dalam situasi dengan jenis generik yang dibuat, seperti yang diilustrasikan oleh deklarasi kerangka berikut.

Public Class baseClass(Of t)  
    Public Overridable Sub doSomething(ByVal inputValue As String)  
    End Sub  
    Public Overridable Sub doSomething(ByVal inputValue As t)  
    End Sub  
End Class  
Public Class derivedClass  
    Inherits baseClass(Of String)  
    Overrides Sub doSomething(ByVal inputValue As String)  
    End Sub  
End Class  

Karena derivedClass mewarisi baseClass yang memasok String ke parameter jenisnya t, kedua versi doSomething di baseClass menggunakan tanda tangan yang identik sejauh derivedClass diperhatikan. Akibatnya, kompilator tidak dapat menentukan versi mana yang akan diambil alih.

ID Kesalahan: BC30935

Untuk memperbaiki kesalahan ini

  • Ubah argumen jenis atau argumen yang Anda berikan ke kelas dasar sehingga tidak menghasilkan satu atau lebih tanda tangan identik dari prosedur atau properti anggota.

    -atau-

  • Jika Anda perlu mewarisi kelas dasar dengan sekumpulan argumen jenis yang digunakan, maka jangan mengambil alih prosedur atau properti yang dikutip dalam pesan kesalahan ini.

Lihat juga