CA1515: Considere tornar os tipos públicos internos

Propriedade Valor
ID da regra CA1515
Título Considere tornar os tipos públicos internos
Categoria Facilidade de manutenção
Correção interruptiva ou sem interrupção Sem interrupção
Habilitado por padrão no .NET 8 Não

Causa

Um tipo dentro de um assembly executável é declarado como público.

Descrição da regra

Ao contrário de uma biblioteca de classes, a API de um aplicativo normalmente não é referenciada publicamente, portanto, os tipos podem ser marcados como internal.

Os tipos internos, por sua vez, podem se beneficiar de vários analisadores de código destinados a APIs não públicas.

Como corrigir violações

Marque o tipo como internal.

Exemplo

O seguinte snippet de código mostra uma violação da 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

O seguinte snippet de código conserta a violação:

// 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

Quando suprimir avisos

Será seguro suprimir uma violação dessa regra se você não estiver preocupado com a manutenção do código.

Suprimir um aviso

Para suprimir apenas uma violação, adicione diretivas de pré-processador ao arquivo de origem a fim de desabilitar e, em seguida, reabilitar a regra.

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

Para desabilitar a regra em um arquivo, uma pasta ou um projeto, defina a severidade como none no arquivo de configuração.

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

Para obter mais informações, confira Como suprimir avisos de análise de código.