'<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
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.
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.
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: