Подтвердить что ты не робот

Базовый тип не соответствует CLS, какие причины этого предупреждения?

У меня есть предупреждение от предмета на одном из моих классов. На самом деле класс очень прост, просто наследник моего базового типа. Также у меня есть некоторые другие наследники из этого универсального класса в решении, и таких предупреждений нет.

Что может быть причиной этого? Компилятор не дает никаких подсказок, почему базовый тип не соответствует CLS

4b9b3361

Ответ 1

У вас, вероятно, есть [assembly:CLSCompliant(true)] где-то в этом конкретном проекте. Это заставляет компилятор проверять все типы на соответствие CLS. Вы можете переопределить это для типа или метода или чего-то с [CLSCompliant(false)].

Ответ 2

Я предполагаю, что у вас есть производный тип, отмеченный как CLSCompliant, но база не является.

Написание кода совместимости с CLS В каноническом примере используется UInt32, который не является частью Common Language Specification (CLS) - поэтому вам нужно использовать Int64 для соответствия CLS или удалить атрибут (объявите себя не-cls-совместимым).

Нужно больше кода для идентификации строки нарушения кода. Дополнительная информация о ошибке, которую вы получаете.