Compartilhar via


Não é possível herdar a interface '<interfacename1>' porque ela poderia ser idêntica à interface '<interfacename2>' da qual a interface '<interfacename3>' herda para alguns argumentos de tipo

Uma interface genérica herda de duas ou mais interfaces genéricas e duas das heranças podem entrar em conflito com determinados valores de argumentos de tipo.

As instruções a seguir podem gerar esse erro.

Public Interface interfaceA(Of u)  
End Interface  
Public Interface interfaceX(Of v)  
    Inherits interfaceA(Of v)  
End Interface  
Public Interface derivedInterface(Of t1, t2)  
    Inherits interfaceA(Of t1), interfaceX(Of t2)  
End Interface  

Se derivedInterface for construída ou implementada fornecendo o mesmo tipo para ambos t1 e t2, ela deverá herdar duas versões de interfaceA com argumentos de tipo idênticos. Isso produziria uma ambiguidade sobre qual versão acessar.

ID do erro: BC32123

Para corrigir este erro

  • Altere um dos argumentos de tipo fornecidos para a interface derivada para que não haja conflito.

    -ou-

  • Remova da instrução Inherits uma das interfaces que causam o potencial conflito de herança ou implementação.

Confira também