Partilhar via


CA1515: Considere tornar os tipos públicos internos

Propriedade valor
ID da regra CA1515
Título Considere tornar os tipos públicos internos
Categoria Manutenibilidade
A correção está quebrando ou não quebrando Sem quebra
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 internal.

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

Como corrigir violações

Marque o tipo como internal.

Exemplo

O trecho de código a seguir mostra uma violação de 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 trecho de código a seguir corrige 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

É seguro suprimir uma violação dessa regra se você não estiver preocupado com a capacidade de manutenção do seu código.

Suprimir um aviso

Se você quiser apenas suprimir uma única violação, adicione diretivas de pré-processador ao seu arquivo de origem para desativar e, em seguida, reativar 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 para um arquivo, pasta ou projeto, defina sua severidade como none no arquivo de configuração.

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

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