Partilhar via


Não pode herdar a interface '<interfacename1>' porque ela pode ser idêntica a interface '<interfacename2>' , da qual a interface '<interfacename3>' herda alguns argumentos de tipo.

Uma interface genérica herda de duas ou mais interfaces genéricas, e duas das heranças poderiam conflitar por certo valores de argumentos de tipo.

A seguinte declaração pode 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 é construída ou implementada fornecendo o mesmo tipo para tanto t1 quanto t2, ela deve herdar duas versões de interfaceA com argumentos de tipo idênticos.Fazer isso produziria uma ambiguidade sobre qual versão acessar.

ID de erro: BC32123

Para corrigir este erro

  • Mude um dos argumentos de tipo fornecidos a interface derivada de forma que não exista mais conflito.

    - ou -

  • Remova da declaração Inherits uma das interfaces causando o potencial conflito de herança ou implementação.

Consulte também

Conceitos

Visão geral de interfaces

Noções básicas de herança

Tipos genéricos no Visual Basic

Referência

Declaração Interface (Visual Basic)

Declaração Inherits