Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 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
Un'interfaccia generica eredita da due o più interfacce generiche, ma due ereditarietà potrebbero essere in conflitto per determinati valori di argomenti di tipo.
Questo errore può essere generato dalle istruzioni seguenti.
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
Se derivedInterface è costruita o implementata specificando lo stesso tipo sia per t1 che per t2, deve ereditare due versioni di interfaceA con argomenti di tipo identici. Le istruzioni dell'esempio creerebbero ambiguità circa la versione cui accedere.
ID errore: BC32122
Per correggere l'errore
Cambiare uno degli argomenti di tipo forniti all'interfaccia derivata in modo che non vi sia conflitto.
-oppure-
Rimuovere dall'istruzione Inherits una delle interfacce che causano il possibile conflitto di ereditarietà o implementazione.
Vedere anche
Concetti
Cenni preliminari sulle interfacce
Nozioni fondamentali sull'ereditarietà