Partager via


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

Mise à jour : novembre 2007

Cannot inherit interface '<interfacename1>' because the interface '<interfacename2>' from which it inherits could be identical to interface '<interfacename3>' 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)
    Inherits interfaceX(Of u)
End Interface
Public Interface interfaceX(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 interfaceX avec des arguments de type identiques. Cela crée une ambiguïté sur la version à accéder.

ID d'erreur : BC32121

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