Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una clase implementa más de una interfaz genérica, una de las cuales se hereda de la otra, y dos implementaciones de un miembro de interfaz podría entrar en conflicto para ciertos valores de argumentos de tipo.
Las instrucciones siguientes pueden generar este error.
Public Interface iFace1(Of t)
Sub testSub()
End Interface
Public Interface iFace2(Of u)
Inherits iFace1(Of u)
End Interface
Public Class testClass(Of y, z)
Implements iFace1(Of y), iFace2(Of z)
Public Sub testSuby() Implements iFace1(Of y).testSub
End Sub
Public Sub testSubz() Implements iFace1(Of z).testSub
End Sub
End Class
Puesto que iFace2 hereda de iFace1 usando su propio parámetro de tipo (u), testClass implementaría dos versiones de iFace1.testSub con firmas idénticas si se pasa el mismo argumento de tipo a y y z. Esto produciría ambigüedad sobre a qué versión se debe acceder.
Identificador de error: BC32125
Para corregir este error
Cambie la estructura de herencia de las interfaces para que
iFace1no se pueda implementar con dos argumentos de tipo diferente.O bien
Quite de la instrucción
Implementslas interfaces que produzcan el conflicto de implementación.