Поделиться через


<имяЭлемента> является неоднозначным, поскольку несколько членов с таким именем существуют в <тип> <имяТипа>

Обновлен: Ноябрь 2007

'<elementname>' is ambiguous because multiple kinds of members with this name exist in <type> '<typename>'

Выражение обращается к элементу программирования, определенному в классе, структуре, модуле или интерфейсе, содержащем несколько членов с одинаковыми именами.

Наиболее вероятной причиной этой ошибки является чувствительность к регистру. Имена Visual Basic не чувствительны к регистру, то есть пользователь может произвольно менять их регистр в различных местах кода. Например, при определении переменной с именем XYZ и последующем обращении к ней как xyz компилятор расценит два имени равнозначными.

Однако другие языки, например Visual C# и Visual C++ чувствительны к регистру. В таком языке XYZ и xyz не считаются одним и тем же именем. Таким образом класс, написанный на таком языке, может определить переменную с именем XYZ и свойство с именем xyz. Среда CLR сохраняет чувствительность к регистру в сборках. При этом, если приложение Visual Basic обращается к сборке с именами XYZ и xyz, они отображаются как одно и то же имя.

Идентификатор ошибки: BC31429

Исправление этой ошибки

  1. Если имеется доступ к исходному коду определяющего типа, рассмотрите возможность переименования элементов, чтобы они отличались не только регистром. Это может оказаться невозможным, если определяющий тип уже был опубликован и используется другими приложениями.

  2. Если переименовать элементы в определяющем типе невозможно, удалите рассматриваемый элемент программирования из кода. Доступ к элементу, имеющему несколько определений, в Visual Basic невозможен.

См. также

Задачи

Устранение неполадок, связанных с переменными, в Visual Basic

Основные понятия

Имена объявленных элементов

Другие ресурсы

Среда CLR