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

StackOverflow https://stackoverflow.com/questions/4013087

  •  26-09-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

Другие советы

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

Написание CLS Codient Code Канонический пример использует UINT32, который не является частью спецификации общего языка (CLS) - следовательно, вам необходимо использовать INT64, чтобы быть совместимым или удалением атрибута (объявляем, что не соответствует CLS).

Нужно больше кода для идентификации оскорбительной строки кода. Больше информации Ошибка Вы получаете.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top