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


CA1053: типы со статическими заполнителями не должны иметь конструкторов по умолчанию

Свойство Значение
Идентификатор правила CA1053
Заголовок Типы статических держателей не должны иметь конструкторы по умолчанию
Категория Проектирование
Исправление является критическим или не критическим Критическое
Включен по умолчанию в .NET 8 No

Примечание.

Правило CA1053 применяется только к устаревшему анализу кода Visual Studio. В анализаторах качества кода .NET это правило объединено в правило CA1052: типы статических заполнителей должны быть Static или NotInheritable.

Причина

В открытом или вложенном открытом типе объявляются только статические элементы и имеется конструктор по умолчанию.

Описание правила

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

Устранение нарушений

Чтобы устранить нарушение, удалите конструктор по умолчанию.

Когда лучше отключить предупреждения

Для этого правила отключать вывод предупреждений не следует. Наличие конструктора по умолчанию предполагает, что тип не является статическим.