Auf Englisch lesen

Freigeben über


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.

VB
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 Stringkonstruiert 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

So beheben Sie diesen Fehler

  • Ä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.

Siehe auch