Converter em declarações de nível superior (IDE0210)

Propriedade Valor
ID da regra IDE0210
Título Converter em declarações de nível superior
Categoria Estilo
Subcategoria Regras de idioma (preferências de bloco de código)
Linguagens aplicáveis C# 9+
Opções csharp_style_prefer_top_level_statements

Visão geral

Essa regra sinaliza o uso de um ponto de entrada de método Main em um projeto que, em vez disso, poderia ser convertido em declarações de nível superior. Um método candidato deve atender aos seguintes requisitos:

  • É static.
  • Tem o nome Main.
  • Possui um corpo de método.
  • Não há parâmetros de tipo.
  • Está contido em um tipo que não é public, não deriva de outro tipo ou implementa uma interface, não é um tipo aninhado e não tem atributos ou comentários de documentação.

Opções

As opções especificam o comportamento que você quer que a regra imponha. Para obter informações sobre como configurar as opções, consulte Formato da opção.

csharp_style_prefer_top_level_statements

Propriedade Valor Descrição
Nome da Opção csharp_style_prefer_top_level_statements
Valores da opção true Prefira declarações de nível superior.
false Desabilita a regra.
Valor da opção padrão true

Exemplo

// Code with violations.
internal class Program
{
    private static void Main(string[] args)
    {
        Console.WriteLine("Hello world.");
    }
}

// Fixed code.
Console.WriteLine("Hello world.");

Suprimir um aviso

Se você quiser suprimir apenas uma violação, adicione diretivas de pré-processador ao arquivo de origem para desabilitar e, em seguida, reabilite a regra.

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

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.IDE0210.severity = none

Para desabilitar todas as regras de estilo de código, defina a severidade da categoria Style como none no arquivo de configuração.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

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

Confira também