Прочитать на английском

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


CA1515: рекомендуется сделать общедоступные типы внутренними

Свойство Значение
Идентификатор правила CA1515
Заголовок Рассмотрите возможность создания внутренних типов общедоступных типов
Категория Ремонтопригодность
Исправление является критическим или не критическим Не критическое
Включен по умолчанию в .NET 9 No

Причина

Тип внутри исполняемой сборки объявляется как общедоступный.

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

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

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

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

Пометьте тип как internal.

Пример

В следующем фрагменте кода показано нарушение CA1515:

C#
// Inside a project with <OutputKind>Exe</OutputKind>
public class Program
{
    public static void Main(string[] args)
    {
    }
}

Следующий фрагмент кода исправляет нарушение.

C#
// Inside a project with <OutputKind>Exe</OutputKind>
internal class Program
{
    public static void Main(string[] args)
    {
    }
}

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

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

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

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

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

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

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

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