Der Member '<Schnittstellenname>.<Prozedurname>', der dieser Signatur entspricht, kann nicht implementiert werden, da die <Schnittstellenname>-Schnittstelle mehrere Member mit diesem Namen und dieser Signatur enthält: <Signaturliste>
Aktualisiert: November 2007
Member '<interfacename>.<procedurename>' that matches this signature cannot be implemented because the interface '<interfacename>' contains multiple members with this same name and signature: <signaturelist>
Eine Prozedur oder Eigenschaft versucht, eine in einer implementierten Schnittstelle definierte Prozedur bzw. Eigenschaft zu implementieren, doch der Compiler findet mehrere Versionen der Schnittstellenprozedur bzw. -eigenschaft mit dem gleichen Namen und der gleichen Signatur.
Dieser Fehler kann in einer Situation mit konstruierten generischen Typen auftreten, wie die folgenden Skelette von Deklarationen veranschaulichen.
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
Da baseInterface von implementingClass implementiert wird und für den Typparameter tString bereitgestellt wird, verwenden die beiden Versionen von doSomething in baseInterface identische Signaturen, soweit dies implementingClass betrifft. Daher kann der Compiler nicht bestimmen, welche Version implementiert werden soll.
Fehler-ID: BC30937
So beheben Sie diesen Fehler
Ändern Sie die Typargumente, die Sie für die Basisklasse angeben, sodass Memberprozeduren oder -eigenschaften keine identischen Signaturen aufweisen.
– oder –
Implementieren Sie diese Basisklasse nicht. Sie können Sie mit dem verwendeten Satz von Typargumenten nicht implementieren, da Sie jeden ihrer Member implementieren müssen.
Siehe auch
Konzepte
Implements-Schlüsselwort und Implements-Anweisung