Partager via


Impossible d'hériter de l'interface '<NomInterface1>', car elle pourrait être identique à l'interface '<NomInterface2>' dont l'interface '<NomInterface3>' hérite pour certains arguments de type

Mise à jour : novembre 2007

Cannot inherit interface '<interfacename1>' because it could be identical to interface '<interfacename2>' from which the interface '<interfacename3>' inherits for some type arguments

Une interface générique hérite d'au moins deux interfaces génériques, et deux des héritages peuvent entrer en conflit pour certaines valeurs d'arguments de type.

Les instructions suivantes peuvent générer ce message d'erreur.

Public Interface interfaceA(Of u)
End Interface
Public Interface interfaceX(Of v)
    Inherits interfaceA(Of v)
End Interface
Public Interface derivedInterface(Of t1, t2)
    Inherits interfaceA(Of t1), interfaceX(Of t2)
End Interface

Si derivedInterface est construit ou implémenté en fournissant le même type à t1 et t2, il doit hériter de deux versions de interfaceA avec des arguments de type identiques. Cela crée une ambiguïté sur la version à accéder.

ID d'erreur : BC32123

Pour corriger cette erreur

  • Modifiez l'un des arguments de type fournis à l'interface dérivée pour éviter tout conflit.

    - ou -

  • Supprimez de l'instruction Inherits l'une des interfaces qui provoquent le conflit d'héritage ou d'implémentation potentiel.

Voir aussi

Concepts

Vue d'ensemble des interfaces

Éléments fondamentaux de l'héritage

Types génériques en Visual Basic

Référence

Interface, instruction (Visual Basic)

Inherits, instruction