Novidades do C# 9: Top Level Programs
Neste quarto artigo da série sobre novidades do C# 9 abordarei o recurso denominado Top Level Program, nova funcionalidade que permite substituir as declarações típicas da classe Program (incluindo o método Main) por um conjunto de instruções mais simples.
Caso não tenha ainda visualizado algum artigo da série ou, até mesmo, deseje rever algum destes conteúdos seguem os links:
Novidades do C# 9: Relational Patterns
Novidades do C# 9: o operador is not
Novidades do C# 9: new expressions
Para os testes descritos neste artigo utilizei o Preview 5 do .NET 5, além do Visual Studio 2019 16.7.0 Preview 3.0.
Supondo um exemplo de implementação da classe Program como o indicado na listagem a seguir:
Podemos simplificar em muito a codificação, implementando esta aplicação como um Top Level Program:
- A estrutura típica da classe Program com seu método Main pode ser omitida;
- É possível inclusive o uso de construções como async ou mesmo produzir um retorno indicando o sucesso (ou não) na execução do código.;
- Não existe a obrigatoriedade de que o arquivo .cs tenha por nome Program.cs.
Na imagem a seguir podemos observar o resultado da execução deste código, com o mesmo declarado em um arquivo chamado TesteTopLevel.cs:
Ressalto ainda que para ativar o uso do C# 9.0 será necessário preencher o item LangVersion com o valor preview no arquivo .csproj:
E concluo este post com um convite…
Dia 14/09/2020 (segunda) a partir das 21:00 — horário de Brasília — teremos uma live no Canal .NET cobrindo estas e outras novidades do C# 9. O evento será ONLINE e GRATUITO, com transmissão pelo YouTube.
Para participar faça sua inscrição no meetup: