CA1053: типы со статическими заполнителями не должны иметь конструкторов по умолчанию
Свойство | Значение |
---|---|
Идентификатор правила | CA1053 |
Заголовок | Типы статических держателей не должны иметь конструкторы по умолчанию |
Категория | Проектирование |
Исправление является критическим или не критическим | Критическое |
Включен по умолчанию в .NET 8 | No |
Примечание.
Правило CA1053 применяется только к устаревшему анализу кода Visual Studio. В анализаторах качества кода .NET это правило объединено в правило CA1052: типы статических заполнителей должны быть Static или NotInheritable.
Причина
В открытом или вложенном открытом типе объявляются только статические элементы и имеется конструктор по умолчанию.
Описание правила
Конструктор по умолчанию не нужен, поскольку при вызове статических членов не требуется экземпляр типа. Кроме того, поскольку у типа нет нестатических членов, создание экземпляра не предоставляет доступ ни к одному члену типа.
Устранение нарушений
Чтобы устранить нарушение, удалите конструктор по умолчанию.
Когда лучше отключить предупреждения
Для этого правила отключать вывод предупреждений не следует. Наличие конструктора по умолчанию предполагает, что тип не является статическим.