Die Schnittstelle „<interfacename1>“ kann nicht implementiert werden, da ihre Implementierung aufgrund einiger Typargumente einen Konflikt mit der ebenfalls implementierten Schnittstelle „<interfacename2>“ verursachen würde
Eine Klassendeklaration enthält eine Implements
-Anweisung, die zwei oder mehr Schnittstellen angibt, aber mindestens eine der Schnittstellen ist generisch, und zwei der Implementierungen könnten bei bestimmten Werten der Typargumente im Konflikt stehen.
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
mithilfe von String
konstruiert wird, muss testClass
zwei Versionen von testSub
mit identischen Signaturen implementieren. Dies führt zu einer Mehrdeutigkeit in Bezug auf die Version, auf die zugegriffen werden soll.
Fehler-ID: BC32072
Ändern Sie das der generischen Schnittstelle übergebene Typargument so, dass kein Konflikt auftritt.
Oder
Entfernen Sie die
Implements
-Anweisung aus einer der Schnittstellen, die zum Konflikt bei der Implementierung führen.
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: