CA1707: идентификаторы не должны содержать знак подчеркивания

Свойство Значение
Идентификатор правила CA1707
Заголовок Идентификаторы не должны содержать символы подчеркивания
Категория Именование
Исправление является критическим или не критическим Критическое — при срабатывании в сборках

Не критическое — при срабатывании в параметрах типа
Включен по умолчанию в .NET 8 No

Причина

Имя идентификатора содержит символ подчеркивания (_).

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

В соответствии с соглашением имена идентификаторов не могут содержать знак подчеркивания (_). Это правило позволяет проверить пространства имен, типы, элементы и параметры.

Соглашения об именовании обеспечивают единство вида библиотек, предназначенных для среды CLR. Это сокращает время, необходимое для изучения новых библиотек программного обеспечения, и позволяет клиентам увериться в том, что разработчик библиотеки имеет опыт разработки управляемого кода.

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

Удалите все символы подчеркивания из имени.

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

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

Отключение предупреждений

Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.

#pragma warning disable CA1707
// The code that's violating the rule is on this line.
#pragma warning restore CA1707

Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации.

[*.{cs,vb}]
dotnet_diagnostic.CA1707.severity = none

Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.

Для хорошо известных методов в коде Майкрософт, которые в настоящее время используют символ подчеркивания и не могут быть изменены, правило также необходимо отменить.

Настройка кода для анализа

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

Этот параметр можно настроить только для этого правила, для всех правил, к которым он применяется, или для всех правил в этой категории (именование), к которым она применяется. Дополнительные сведения см. в статье Параметры конфигурации правила качества кода.

Включение определенных контактных зон API

Вы можете настроить, для каких частей базы кода следует выполнять это правило в зависимости от их доступности. Например, чтобы указать, что правило должно выполняться только для закрытой контактной зоны API, добавьте следующую пару "ключ-значение" в файл EDITORCONFIG в своем проекте:

dotnet_code_quality.CAXXXX.api_surface = private, internal