Базовый тип <имяТипа> перечисления несовместим с CLS
Обновлен: Ноябрь 2007
Underlying type <typename> of Enum is not CLS-compliant
Тип данных, указанный для этого перечисления не является частью Спецификация CLS (CLS). Это не ошибка в компоненте, поскольку .NET Framework и Visual Basic поддерживает этот тип данных. Тем не менее другой компонент, написанный в строгом CLS-совместимом коде, может не поддерживать этот тип данных. Такой компонент может не иметь возможность успешно взаимодействовать с данным компонентом.
Следующие типы данных Visual Basic не являются CLS-совместимыми:
По умолчанию это сообщение является предупреждением. Дополнительные сведения о скрытии предупреждений или обработке предупреждений как ошибок см. в разделе Настройка предупреждений в Visual Basic.
Идентификатор ошибки: BC40032
Для исправления данной ошибки выполните следующее.
Если компонент взаимодействует только с другими компонентами .NET Framework, или не взаимодействует с какими-либо иными компонентами, нет необходимости изменять что-либо.
При взаимодействии с компонентом, не записанном для .NET Framework, возможно, будет можно определить, либо через отражение, либо из документации, поддерживает ли он этот тип данных. Если это так, нет необходимости изменять что-либо.
При взаимодействии с компонентом, который не поддерживает этот тип данных, необходимо заменить его ближайшим CLS-совместимым типом. Например, вместо UInteger можно использовать Integer, если не требуется значение диапазона, превышающее 2 147 483 647. Если необходим расширенный диапазон, можно заменить UInteger на Long.
Если производится взаимодействие с объектами автоматизации или COM-объектами, то имейте в виду, что некоторые типы имеют ширину данных, отличающуюся от ширины данных в .NET Framework . Например, в других средах uint часто является 16-битным. Если производится передача 16-разрядного аргумента такому компоненту, объявите ее в качестве UShort вместо UInteger в управляемом коде Visual Basic.
См. также
Основные понятия
Написание CLS-совместимого кода