No se puede heredar la interfaz '<interfacename1>' porque la interfaz '<interfacename2>' de la que hereda podría ser idéntica a la interfaz '<interfacename3>' 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.

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 se construye o se implementa al proporcionar el mismo tipo tanto a t1 como a t2, debe heredar dos versiones de interfaceX con argumentos de tipo idénticos. Esto produciría ambigüedad respecto a la versión a la que se debe acceder.

Identificador de error: BC32121

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