Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
| 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 10 | Não |
Motivo
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)
{
}
}
' Inside a project with <OutputKind>Exe</OutputKind>.
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)
{
}
}
' Inside a project with <OutputKind>Exe</OutputKind>.
Friend Class Program
Public Shared Sub Main(args As string())
End Sub
End Class
(Para obter mais informações sobre o tipo de saída de um projeto, consulte a seção "Tipo de saída" do .NET Project Designer.)
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 de um arquivo, pasta ou projeto, defina sua gravidade 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.
Configurar código para análise
Você pode configurar a quais tipos de assembly de saída aplicar essa regra. Por exemplo, para aplicar essa regra somente ao código que produz um aplicativo de console ou uma biblioteca vinculada dinamicamente (ou seja, não um aplicativo de interface do usuário), adicione o seguinte par chave-valor a um arquivo .editorconfig em seu projeto:
dotnet_code_quality.CA1515.output_kind = ConsoleApplication, DynamicallyLinkedLibrary
Para obter mais informações, consulte output_kind.