CA1716: идентификаторы не должны совпадать с ключевыми словами
Свойство | Значение |
---|---|
Идентификатор правила | CA1716 |
Заголовок | Идентификаторы не должны совпадать с ключевыми словами |
Категория | Именование |
Исправление является критическим или не критическим | Критическое |
Включен по умолчанию в .NET 9 | No |
Причина
Имя пространства имен, типа, виртуального элемента или элемента интерфейса совпадает с зарезервированным ключевым словом в языке программирования.
По умолчанию это правило рассматривает только пространства имен, типы и элементы, видимые извне, но вы можете настроить видимость и виды символов.
Описание правила
Идентификаторы пространств имен, типов, виртуальных элементов и элементов интерфейсов не должны совпадать с ключевыми словами, определенными в языках, поддерживаемых в среде CLR. В зависимости от используемого языка и конкретного ключевого слова ошибки и неоднозначности компилятора могут усложнить использование библиотеки.
Это правило проверяет совпадение с ключевыми словами в следующих языках:
- Visual Basic
- C#
- C++/CLI
Для Visual Basic сравнение выполняется без учета регистра, а для других языков — с учетом регистра.
Устранение нарушений
Выберите имя, которого нет в списке ключевых слов.
Когда лучше отключить предупреждения
Вы можете отключить предупреждение из этого правила, если вы уверены, что идентификатор не будет путать пользователей API, и что библиотека доступна на всех доступных языках в .NET.
Отключение предупреждений
Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable CA1716
// The code that's violating the rule is on this line.
#pragma warning restore CA1716
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none
в файле конфигурации.
[*.{cs,vb}]
dotnet_diagnostic.CA1716.severity = none
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.
Настройка кода для анализа
Используйте следующие параметры, чтобы указать части базы кода, к которым будет применяться это правило.
Эти параметры можно настроить только для этого правила, для всех правил, к которым она применяется, или для всех правил в этой категории (именование), к которым она применяется. Дополнительные сведения см. в статье Параметры конфигурации правила качества кода.
Включение определенных контактных зон API
Вы можете настроить, для каких частей базы кода следует выполнять это правило в зависимости от их доступности. Например, чтобы указать, что правило должно выполняться только для закрытой контактной зоны API, добавьте следующую пару "ключ-значение" в файл EDITORCONFIG в своем проекте:
dotnet_code_quality.CAXXXX.api_surface = private, internal
Проанализированные типы символов
Вы можете настроить типы символов, которые будут анализироваться этим правилом. Допустимые значения:
Namespace
NamedType
Method
Property
Event
Parameter
Для разделения значений используйте запятые (,
). Значение по умолчанию включает все виды символов из предыдущего списка.
dotnet_code_quality.CA1716.analyzed_symbol_kinds = Namespace, NamedType, Method, Property, Event