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


Метод <имяПроцедуры> для события <имяСобытия> не может быть помечен как совместимый с CLS, так как тип <имяТипа>, который его содержит, несовместим с CLS

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

'<procedurename>' method for event '<eventname>' cannot be marked CLS compliant because its containing type '<typename>' is not CLS compliant

Пользовательское событие объявляет процедуру AddHandler или RemoveHandler и помечает ее как <CLSCompliant(True)>, но событие определено в типе, который помечен как <CLSCompliant(False)> или не помечен.

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

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

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

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

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

  • Если требуется CLS-совместимость, определите событие в CLS-совместимом типе.

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

См. также

Задачи

Практическое руководство. Объявление события, исключающего блокирование

Практическое руководство. Объявление событий, которые экономят использование памяти

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

Операторы AddHandler и RemoveHandler

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