Die <Schnittstellenname1>-Schnittstelle kann nicht implementiert werden, da ihre Implementierung aufgrund einiger Typargumente einen Konflikt mit der ebenfalls implementierten <Schnittstellenname2>-Schnittstelle verursachen könnte
Aktualisiert: November 2007
Cannot implement interface '<interfacename1>' because its implementation could conflict with the implementation of another implemented interface '<interfacename2>' for some type arguments
Eine Klassendeklaration enthält eine Implements-Anweisung, die mehrere Schnittstellen angibt. Mindestens eine der Schnittstellen ist jedoch generisch, und zwei der Implementierungen können bei bestimmten Werten von Typargumenten einen Konflikt verursachen.
Dieser Fehler kann durch die folgenden Anweisungen generiert werden.
Public Interface iFace1
Sub testSub(ByVal arg As String)
End Interface
Public Interface iFace2(Of t)
Sub testSub(ByVal arg As t)
End Interface
Public Class testClass
Implements iFace1, iFace2(Of String)
End Class
Da iFace2 mit String erstellt wird, muss testClass zwei Versionen von testSub mit identischer Signatur implementieren. Dies führt zu einer Mehrdeutigkeit in Bezug auf die Version, auf die zugegriffen werden soll.
Fehler-ID: BC32072
So beheben Sie diesen Fehler
Ändern Sie das für die generische Schnittstelle angegebene Typargument, sodass kein Konflikt auftritt.
– oder –
Entfernen Sie eine der Schnittstellen, die den Implementierungskonflikt verursachen, aus der Implements-Anweisung.
Siehe auch
Konzepte
Implements-Schlüsselwort und Implements-Anweisung
Generische Typen in Visual Basic
Referenz
Class-Anweisung (Visual Basic)