Die Schnittstelle '<Schnittstellenname1>' kann nicht geerbt werden, da die Schnittstelle '<Schnittstellenname2>', von der geerbt wird, möglicherweise mit der Schnittstelle "'<Schnittstellenname3>' identisch ist, von der die Schnittstelle '<Schnittstellenname4>' bei manchen Typargumenten erbt
Aktualisiert: November 2007
Cannot inherit interface '<interfacename1>' because the interface '<interfacename2>' from which it inherits could be identical to interface '<interfacename3>' from which the interface '<interfacename4>' inherits for some type arguments
Eine generische Schnittstelle erbt von mindestens zwei generischen Schnittstellen, und zwei der Vererbungen können einen Konflikt mit bestimmten Werten von Typargumenten verursachen.
Dieser Fehler kann von den folgenden Anweisungen generiert werden.
Public Interface interfaceA(Of u)
End Interface
Public Interface interfaceX(Of v)
Inherits interfaceA(Of v)
End Interface
Public Interface interfaceY(Of w)
Inherits interfaceA(Of w)
End Interface
Public Interface derivedInterface(Of t1, t2)
Inherits interfaceX(Of t1), interfaceY(Of t2)
End Interface
Wenn die Erstellung oder Implementierung von derivedInterface durch Angeben desselben Typs sowohl für t1 als auch t2 erfolgt, muss sie zwei Versionen von interfaceA mit identischen Typargumenten erben. Dies führt zu einer Mehrdeutigkeit in Bezug auf die Version, auf die zugegriffen werden soll.
Fehler-ID: BC32122
So beheben Sie diesen Fehler
Ändern Sie eines der für die abgeleitete Schnittstelle angegebenen Typargumente, sodass kein Konflikt auftritt.
– oder –
Entfernen Sie eine der Schnittstellen, die den potenziellen Vererbungs- oder Implementierungskonflikt auslösen, aus der Inherits-Anweisung.
Siehe auch
Konzepte
Generische Typen in Visual Basic