< nama antarmuka > anggota. < namaprosedur > ' yang cocok dengan tanda tangan ini tidak dapat diimplementasikan karena antarmuka ' < nama antarmuka > ' berisi beberapa anggota dengan nama dan tanda tangan yang sama: < daftar tanda tangan >

Prosedur atau properti mencoba mengimplementasikan prosedur atau properti yang didefinisikan dalam antarmuka yang diimplementasikan, tetapi kompilator menemukan lebih dari satu versi prosedur antarmuka 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 Interface baseInterface(Of t)  
    Sub doSomething(ByVal inputValue As String)  
    Sub doSomething(ByVal inputValue As t)  
End Class  
Public Class implementingClass  
    Implements baseInterface(Of String)  
    Sub doSomething(ByVal inputValue As String) _  
        Implements baseInterface(Of String).doSomething  
    End Sub  
End Class  

Karena implementingClass mengimplementasikan baseInterface memasok String ke parameter jenisnya t, dua versi doSomething di baseInterface menggunakan tanda tangan yang identik yang membuat implementingClass khawatir. Akibatnya, kompilator tidak dapat menentukan versi mana yang akan diimplementasikan.

ID Kesalahan: BC30937

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-

  • Jangan implementasikan kelas dasar ini. Anda tidak dapat mengimplementasikannya dengan kumpulan argumen jenis yang Anda gunakan, karena Anda harus mengimplementasikan setiap anggotanya.

Lihat juga