Leer en inglés

Compartir a través de


No se puede heredar la interfaz "<nombreDeInterfaz1>" porque la interfaz "<nombreDeInterfaz2>" de la que hereda podría ser idéntica a la interfaz "<nombreDeInterfaz3>" de la que la interfaz "<nombreDeInterfaz4>" hereda para algunos argumentos de tipo

Una interfaz genérica hereda de dos o más interfaces genéricas, y dos de las herencias podrían entrar en conflicto para ciertos valores de argumentos de tipo.

Las instrucciones siguientes pueden generar este error.

VB
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

Si derivedInterface se construye o se implementa al proporcionar el mismo tipo tanto a t1 como a t2, debe heredar dos versiones de interfaceA con argumentos de tipo idénticos. Esto produciría ambigüedad respecto a la versión a la que se debe acceder.

Id. de error: BC32122

Para corregir este error

  • Cambie uno de los argumentos de tipo proporcionados a la interfaz derivada para que no haya ningún conflicto.

    O bien

  • Quite de la instrucción Inherits una de las interfaces que producen el posible conflicto de herencia o de implementación.

Consulte también