Член, не совместимый с CLS "MustOverride", не допускается в имени класса, совместимого <с CLS.>
Класс помечен как <CLSCompliant(True)>
, но содержит процедуру или свойство MustOverride
, помеченное как <CLSCompliant(False)>
или не помеченное вообще.
Если класс соответствует языковым и независимым от языка компонентам (CLS), приложение, использующее этот класс, обращается только к элементам, которые также помечены как <CLSCompliant(True)>
и игнорируют элементы, которые не являются. Однако приложение не может игнорировать процедуру или свойство MustOverride
, поскольку доступ к этому объекту необходим для его переопределения.
Когда вы применяете атрибут CLSCompliantAttribute к программному элементу, вы задаете для параметра isCompliant
атрибута значение True
или False
, чтобы указать на совместимость или несовместимость. Для этого параметра нет значения по умолчанию, и вы должны предоставить значение.
Если вы не применяете CLSCompliantAttribute к элементу, он считается несовместимым.
По умолчанию данное сообщение является предупреждением. Сведения о сокрытии предупреждений или обработке предупреждений как ошибок см. в разделе Configuring Warnings in Visual Basic.
Идентификатор ошибки: BC40034
Если требуется совместимость с CLS и вы можете управлять исходным кодом класса, пометьте член как
<CLSCompliant(True)>
.Если требуется совместимость с CLS и вы не можете управлять исходным кодом класса, или он не квалифицирован как совместимый, определите этот член в другом классе.
Если требуется, чтобы этот член оставался несовместимым, удалите ключевое слово
MustOverride
из его определения, удалите CLSCompliantAttribute из определения класса или пометьте этот класс как<CLSCompliant(False)>
.
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: