Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Uma classe implementa mais de uma interface genérica, uma das quais herda de outra, e duas implementações de um membro da interface podem entrar em conflito para certos valores de argumentos de tipo.
As instruções a seguir podem gerar esse erro.
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
Como iFace2 herda do uso de seu próprio parâmetro de iFace1 tipo (u), testClass implementaria duas versões de com assinaturas idênticas se o mesmo argumento de iFace1.testSub tipo fosse passado para y e z. Isso produziria uma ambiguidade sobre qual versão acessar.
ID de erro: BC32125
Para corrigir este erro
Altere a estrutura de herança das interfaces para que
iFace1não possa ser implementado com dois argumentos de tipo diferentes.-or-
Remova da
Implementsinstrução uma das interfaces que resultam no conflito de implementação.