CA1515: рекомендуется сделать общедоступные типы внутренними
Свойство | Значение |
---|---|
Идентификатор правила | CA1515 |
Заголовок | Рассмотрите возможность создания внутренних типов общедоступных типов |
Категория | Ремонтопригодность |
Исправление является критическим или не критическим | Не критическое |
Включен по умолчанию в .NET 9 | No |
Причина
Тип внутри исполняемой сборки объявляется как общедоступный.
Описание правила
В отличие от библиотеки классов, API приложения обычно не ссылается публично, поэтому типы можно пометить internal
.
Внутренние типы, в свою очередь, могут воспользоваться различными анализаторами кода, предназначенными для не общедоступных API.
Устранение нарушений
Пометьте тип как internal
.
Пример
В следующем фрагменте кода показано нарушение CA1515:
// Inside a project with <OutputKind>Exe</OutputKind>
public class Program
{
public static void Main(string[] args)
{
}
}
Public Class Program
Public Shared Sub Main(args As string())
End Sub
End Class
Следующий фрагмент кода исправляет нарушение.
// Inside a project with <OutputKind>Exe</OutputKind>
internal class Program
{
public static void Main(string[] args)
{
}
}
Friend Class Program
Public Shared Sub Main(args As string())
End Sub
End Class
Когда лучше отключить предупреждения
Нарушение этого правила можно безопасно скрыть, если вы не беспокоитесь об удобстве обслуживания кода.
Отключение предупреждений
Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable CA1515
// The code that's violating the rule is on this line.
#pragma warning restore CA1515
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none
в файле конфигурации.
[*.{cs,vb}]
dotnet_diagnostic.CA1515.severity = none
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.