Partilhar via


'<elementname>' é ambíguo porque há vários tipos de membros com esse nome em <type>'<typename>'

Uma expressão acessa um elemento de programação definido em uma classe, estrutura, módulo ou interface que contém mais de um membro com o mesmo nome.

A causa mais provável desse erro é caso confidencialidade.Os nomes de Visual Basic são caso-maiúsculas e minúsculas, que significa que você pode aproveitá-los diferente em diferentes locais em seu código.Por exemplo, se você definir uma variável com o nome de XYZ e mais recente acesso sistema autônomo xyz, o compilador considera sistema autônomo dois nomes sistema autônomo equivalente.

No entanto, outros idiomas, sistema autônomo Visual C# e Visual C++, são caso - confidenciais. Em tal um linguagem, XYZ e xyz não são considerados para ser o mesmo nome. Portanto, uma classe escrita em tal linguagem poderia definir uma variável chamada XYZ e uma propriedade chamada xyz. O common linguagem tempo de execução (CLR) preserva a diferenciação entre maiúsculas e minúsculas em módulos (assemblies).No entanto, se um aplicativo Visual Basic acessa um assembly com nomes de XYZ e xyz, elas aparecem sistema autônomo o mesmo nome.

ID de erro: BC31429

Para corrigir este erro

  1. Se você tiver controle sobre o código-fonte da definição de tipo, considere a possibilidade de renomear os membros para que diferem em mais de apenas casing.Isso pode não ser possível se a definição de tipo já foi publicado e que está sendo usado por outros aplicativos.

  2. Se você não pode renomear os membros na definição de tipo, remova o elemento de programação citado do seu código.Não é possível acessar um elemento que aparece para o Visual Basic ter várias definições.

Consulte também

Tarefas

Solução de Problemas de Variáveis em Visual Basic

Conceitos

Nomes de Elementos Declarados

Outros recursos

Common Language Runtime