Ler em inglês

Partilhar via


'<elementname>' é ambíguo porque existem vários tipos de membros com este nome no <tipo> '<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 deste erro é a diferenciação de maiúsculas e minúsculas. Os nomes do Visual Basic não diferenciam maiúsculas de minúsculas, o que significa que você pode capitalizá-los de forma diferente em locais diferentes em seu código. Por exemplo, se você definir uma variável com o nome XYZ e posteriormente acessá-la como xyz, o compilador considerará os dois nomes como equivalentes.

No entanto, outras linguagens, como C# e Visual C++, diferenciam maiúsculas de minúsculas. Em tal língua, XYZ e xyz não são considerados como sendo o mesmo nome. Portanto, uma classe escrita em tal linguagem poderia definir uma variável nomeada XYZ e uma propriedade chamada xyz. O Common Language Runtime (CLR) preserva a diferenciação de maiúsculas e minúsculas em assemblies. No entanto, se um aplicativo Visual Basic acessa um assembly com nomes XYZ e xyz, eles aparecem como o mesmo nome.

ID de erro: BC31429

Para corrigir este erro

  1. Se você tiver controle sobre o código-fonte do tipo definidor, considere renomear os membros para que eles difiram em mais do que apenas invólucro. Isso pode não ser possível se o tipo de definição já tiver sido publicado e estiver sendo usado por outros aplicativos.

  2. Se você não puder renomear os membros no tipo definidor, remova o elemento de programação citado do seu código. Você não pode acessar um elemento que aparece para Visual Basic para ter várias definições.

Consulte também