Partilhar via


Não é possível herdar a interface '<interfacename1>' porque a interface '<nomedainterface2>' de onde ela herda pode ser idêntica à interface '<nomedainterface3>' para alguns tipos de argumentos.

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)
    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

Se derivedInterface é construída ou implementada fornecendo o mesmo tipo para tanto t1 quanto t2, ela deve herdar duas versões de interfaceX com argumentos de tipo idênticos.Fazer isso produziria uma ambiguidade sobre qual versão acessar.

ID de erro: BC32121

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