NET 6 - Novo template do projeto Console


Hoje veremos o novo template para o  projeto Console disponível a partir do NET 6 Preview 7.

Há muito tempo o template para o projeto Console gerado pelo Visual Studio e pelo VS Code inclua o seguinte código :

E este código continua funcionando sem problemas.

No NET 6 (preview 7 ou superior) ao criar um projeto Console o template vai gerar o seguinte código :

Isso mesmo, apenas uma linha de código.

Este template esta usando o recurso das instruções de nível superior ou Top Level Statement do C# 9.0 que eu apresentei neste vídeo : http://www.macoratti.net/20/10/vda151020.htm e neste artigo : C# 9.0 - Top  Level Statements

Assim estes recursos já estavam disponíveis a partir do NET 5.0 RC1 e o VS 2019 Preview então este recurso não é uma novidade do NET 6.

Se você preferir usar o formato mais antigo, poderá copiar o código do segundo exemplo e continuar usando o formato anterior.

Lembrando que em um arquivo com instruções de nível superior, um método $Main é gerado e definido como ponto de entrada. Como pode haver apenas um ponto de entrada para seu aplicativo .NET, só pode haver exatamente um arquivo em seu projeto que tenha instruções de nível superior.

Outro ponto importante a destacar é que quando você declara namespaces e/ou tipos em seu arquivo de programa de nível superior, essas declarações devem vir após todas as instruções de nível superior, caso contrário, você receberá um erro de compilação.

Dessa forma o novo template usa o recurso das instruções de nível superior é ótimo para realizar testes e quando seu projeto for bem simples.

Com isso você não precisa incluir namespaces, class nem o método Main().

E estamos conversados......

"Disse-lhe Jesus: Porque me viste, Tomé, creste; bem-aventurados os que não viram e creram."
João 20:29

Referências:


José Carlos Macoratti