Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Свойство | Значение |
---|---|
Идентификатор правила | CA1711 |
Заголовок | Идентификаторы не должны иметь неправильные суффиксы |
Категория | Именование |
Исправление является ломающим или не ломающим | Срочное |
Включен по умолчанию в .NET 9 | Нет |
Идентификатор имеет неправильный суффикс.
По умолчанию это правило проверяет только видимые извне идентификаторы, но это поведение можно настроить.
По соглашению, только имена типов, которые расширяют определенные базовые типы или реализуют определенные интерфейсы, или типов, производных от этих типов, должны заканчиваться определенными зарезервированными суффиксами. В именах других типов зарезервированные суффиксы использоваться не должны.
В следующей таблице перечислены зарезервированные суффиксы и базовые типы и интерфейсы, с которыми они связаны.
Суффикс | Базовый тип или интерфейс |
---|---|
Attribute |
System.Attribute |
Collection |
System.Collections.ICollection System.Collections.IEnumerable System.Collections.Queue System.Collections.Stack System.Collections.Generic.ICollection<T> System.Data.DataSet System.Data.DataTable |
Dictionary |
System.Collections.IDictionary System.Collections.Generic.IDictionary<TKey,TValue> |
EventArgs |
System.EventArgs |
EventHandler |
Делегат обработчика событий |
Exception |
System.Exception |
Permission |
System.Security.IPermission |
Queue |
System.Collections.Queue |
Stack |
System.Collections.Stack |
Stream |
System.IO.Stream |
Кроме того, не следует использовать следующие суффиксы:
Delegate
Enum
-
Ex
или аналогичный суффикс, чтобы отличить его от более ранней версии того же типа -
Flag
илиFlags
для типов перечисления -
Impl
(вместо нее следует использоватьCore
) -
New
, если член с тем же именем, но без суффиксаNew
уже существует
Соглашения об именовании предоставляют общий поиск библиотек, предназначенных для среды CLR .NET. Эти соглашения сокращают кривую обучения, необходимую для новых библиотек программного обеспечения и повышая уверенность клиентов в том, что библиотека была разработана кем-то с опытом разработки управляемого кода. Дополнительные сведения см. в разделе Рекомендации по именованию: классы, структуры и интерфейсы.
Удалите суффикс из имени типа.
Не подавляйте предупреждение, связанное с этим правилом, если суффикс не имеет однозначного значения в контексте приложения.
Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable CA1711
// The code that's violating the rule is on this line.
#pragma warning restore CA1711
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none
в файле конфигурации.
[*.{cs,vb}]
dotnet_diagnostic.CA1711.severity = none
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.
Используйте следующие параметры, чтобы указать части базы кода, к которым будет применяться это правило.
Эти параметры можно настроить только для этого правила, для всех правил, к которым они применяются, или для всех правил в этой категории (именования), к которым они применяются. Дополнительные сведения см. в статье Параметры конфигурации правила качества кода.
Вы можете настроить компоненты базы кода для выполнения этого правила на основе их специальных возможностей, задав параметр api_surface. Например, чтобы указать, что правило должно выполняться только для непубличной поверхности API, добавьте следующую пару ключ-значение в файл .editorconfig в проекте.
dotnet_code_quality.CAXXXX.api_surface = private, internal
Примечание
Замените XXXX
частью CAXXXX
идентификатором применимого правила.
Вы можете настроить список разрешенных суффиксов, разделив их символом вертикальной черты ("|"). Например, чтобы указать, что правило не должно выполняться для суффиксов Flag и Flags, добавьте следующую пару "ключ-значение" в файл .editorconfig в своем проекте:
dotnet_code_quality.ca1711.allowed_suffixes = Flag|Flags
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: