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


CLS-несовместимый <имяЧлена> не допускается в CLS-совместимом интерфейсе

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

Non-CLS-compliant <membername> is not allowed in a CLS-compliant interface

Свойство, процедура или событие в интерфейсе помечены как <CLSCompliant(True)>, тогда как сам интерфейс помечен как <CLSCompliant(False)> или не помечен вовсе.

Чтобы интерфейс был совместим с Спецификация CLS (CLS), все его члены должны быть совместимыми.

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

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

По умолчанию это сообщение является предупреждением. Дополнительные сведения о скрытии предупреждений или обработке предупреждений в качестве ошибок см. в разделе Настройка предупреждений в Visual Basic.

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

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

  • Если необходима CLS-совместимость и имеется контроль над всем исходным кодом интерфейса, пометьте интерфейс как <CLSCompliant(True)>, если все его члены являются совместимыми.

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

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

См. также

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

Написание CLS-совместимого кода

Ссылки

Оператор Interface (Visual Basic)