No se puede implementar la interfaz '<interfacename1>' porque dicha implementación podría entrar en conflicto con la implementación de otra interfaz implementada '<interfacename2>' de algunos argumentos de tipo

Una declaración de clase incluye una instrucción Implements que especifica dos o más interfaces, pero al menos una de las interfaces es genérica y dos de las implementaciones podrían entrar en conflicto para determinados valores de argumentos de tipo.

Las instrucciones siguientes pueden generar este error.

Public Interface iFace1
    Sub testSub(ByVal arg As String)
End Interface
Public Interface iFace2(Of t)
    Sub testSub(ByVal arg As t)
End Interface
Public Class testClass
    Implements iFace1, iFace2(Of String)
End Class

Dado que iFace2 se construye usando String, testClass debe implementar dos versiones de testSub con firmas idénticas. Esto produciría ambigüedad respecto a la versión a la que se debe acceder.

Identificador de error: BC32072

Para corregir este error

  • Cambie el argumento de tipo proporcionado a la interfaz genérica para que no haya ningún conflicto.

    O bien

  • Quite de la instrucción Implements las interfaces que produzcan el conflicto de implementación.

Consulte también