" неоднозначно, поскольку в "" существует несколько типов элементов с таким именем. - Visual Basic | Microsoft Learn"
data-list-item-url="/dotnet/visual-basic/misc/bc31429"
data-list-source="module"
data-resource-type=""
data-bi-name="add-to-list"
aria-describedby="popover-content"
aria-expanded="false"
>
Сохранить
"<elementname>" является неоднозначным, так как в типе< ">typename>" существует <несколько типов элементов с таким именем.
Выражение обращается к программному элементу, определенному в классе, структуре, модуле или интерфейсе, содержащем несколько членов с тем же именем.
Наиболее вероятной причиной этой ошибки является учет регистра. В именах Visual Basic регистр не учитывается, что означает, что в разных местах в коде эти имена можно указывать в разном регистре. Например, если определить переменную с именем XYZ
и позже обратиться к ней как к xyz
, компилятор сочтет эти два имени равнозначными.
Однако другие языки, такие как C# и Visual C++, чувствительны к регистру. В таких языках XYZ
и xyz
не считаются одинаковыми. Следовательно, в классе, написанном на таком языке, должна быть задана переменная с именем XYZ
и свойство с именем xyz
. Среда CLR сохраняет учет регистра в сборках. Однако если приложение Visual Basic обращается к сборке с именами XYZ
и xyz
, они отображаются как одно и то же имя.
Код ошибки: BC31429
Если вы можете управлять исходным кодом определяющего типа, рассмотрите возможность переименования членов, чтобы они отличались не только регистром. Это может оказаться невозможным, если определяющий тип уже был опубликован и используется другими приложениями.
Если вы не можете переименовать элементы в определяющем типе, удалите рассматриваемый программный элемент из кода. Вы не можете получить доступ к элементу, который присутствует в Visual Basic, чтобы иметь несколько определений.