Membro ' <interfacename>. <procedurename>' que corresponde a essa assinatura não é possível implementar porque a interface '<interfacename>' contém vários membros com o mesmo nome e assinatura: <signaturelist>
Um procedimento ou propriedade tentativas implementar um procedimento ou uma propriedade definida em uma interface implementada, mas o compilador encontra mais de uma versão do procedimento de interface ou propriedade com o mesmo nome e assinatura.
Esse erro pode ocorrer em uma situação com tipos genéricos construídos, como os seguintes esqueletos de declarações ilustram.
Public Interface baseInterface(Of t)
Sub doSomething(ByVal inputValue As String)
Sub doSomething(ByVal inputValue As t)
End Class
Public Class implementingClass
Implements baseInterface(Of String)
Sub doSomething(ByVal inputValue As String) _
Implements baseInterface(Of String).doSomething
End Sub
End Class
Porque implementingClass implementa baseInterface fornecendo String para o parâmetro de tipo t, sistema autônomo duas versões do doSomething em baseInterface assumir assinaturas idênticas quanto ao implementingClass está preocupado. sistema autônomo resultado, o compilador não pode determinar qual versão deseja implementar.
ID de erro: BC30937
Para corrigir este erro
Altere o argumento (ou argumentos) de tipo que você fornece para a classe base para que ele não resulte em uma ou mais assinaturas idênticas de procedimentos ou propriedades membros.
- ou -
Não implementam esta classe base.Você não pode implementá-la com o conjunto de argumentos de tipo que você estiver usando, porque você deve implementar cada um dos seus membros.
Consulte também
Conceitos
Palavra-chave Implements e a demonstrativo Implements