Прочитать на английском

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


<Тип typename1> не может быть помечен как CLS-совместимый, так как его содержащий тип typename2<> не соответствует CLS

Класс или интерфейс помечен как <CLSCompliant(True)> , но при этом вложен в тип, помеченный как <CLSCompliant(False)> или не помеченный совсем.

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

Когда вы применяете атрибут CLSCompliantAttribute к программному элементу, вы задаете для параметра isCompliant атрибута значение True или False , чтобы указать на совместимость или несовместимость. Для этого параметра нет значения по умолчанию, и вы должны предоставить значение.

Если вы не применяете CLSCompliantAttribute к элементу, он считается несовместимым.

По умолчанию данное сообщение является предупреждением. Сведения о сокрытии предупреждений или обработке предупреждений как ошибок см. в разделе Configuring Warnings in Visual Basic.

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

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

  • Если требуется совместимость с CLS, определите этот тип в другой иерархии вложений.

  • Если требуется, чтобы этот тип оставался в текущей иерархии вложений, удалите CLSCompliantAttribute из его определения или пометьте его как <CLSCompliant(False)>.