.NET Core 3 Preview 3, VS 2019 Release Candidate, Using Declarations no C# 8.0

Renato Groffe
Mar 7 · 4 min read

Já abordei em artigos anteriores novidades envolvendo o .NET Core 3.0, o C# 8.0 e o Visual Studio 2019:

Visual Studio 2019 e .NET Core 3: primeiros testes

Novidades do C# 8.0: como habilitar, Ranges e Indices

Novidades do C# 8.0: Nullable Reference Types

Visual Studio 2019: Preview 2.1 e novidades no debugging de Console Applications

Neste novo artigo dou continuidade a este trabalho, cobrindo novidades mais recentes. Os últimos dias têm sido bastante agitados dentro da comunidade .NET, sobretudo considerando que estamos a menos de 1 mês do lançamento oficial do Visual Studio 2019 (previsto para o início de Abril/2019).

Quarta-feira da semana passada (27/03/2019) foi anunciado o Release Candidate (Preview 4) do Visual Studio 2019:

Posteriormente, mais 2 outras atualizações foram disponibilizadas nos dias 04/03/2019 (segunda) e 06/03/2019 (nesta última quarta-feira). Ambos os updates também integram Preview 4.1 do Visual Studio 2019:

Visual Studio 2019 Preview 4.1 SVC1

Quanto ao .NET Core 3.0, nesta quarta (06/03) foi anunciado o Preview 3 desta versão:


Instalando o Release Candidate do Visual Studio 2019 e o Preview 3 do .NET Core 3.0

Importante ressaltar que a instalação desta versão de avaliação pode ser feita através do Visual Studio Installer, não havendo restrições quanto ao uso da mesma em paralelo com o VS 2017:

No que diz respeito à instalação do Preview 3 do .NET Core 3.0, a mesma pode ser obtida através do seguinte link:

.NET Core 3.0 downloads for Linux, macOS and Windows

Ao se concluir tal processo com sucesso o comando dotnet --version retornará que o Preview 3 foi instalado:


Using Declarations no C# 8.0

Embora traga praticidade e contribua para implementações com menor propensão a erros, a utilização da cláusula using pode fugir do controle e resultar em extensos trechos de código com diversas instruções deste tipo aninhadas uma dentro da outra.

O C# 8.0 conta agora com o recurso conhecido como Using Declarations, em que variáveis podem ser declaradas precedidas pela palavra-chave using e evitando assim extensos blocos aninhados.

E qual seria o comportamento agora, considerando que ao empregar using partimos da premissa que a memória alocada para um objeto (que obrigatoriamente implementa a interface IDisposable) possa ser liberada ao se concluir com êxito ou não o bloco formado por essa instrução? A referência em questão será liberada normalmente (com o compilador gerando automaticamente a chamada a Dispose()) dentro do escopo/bloco em que se encontra tal instrução.

Uma implementação como a detalhada a seguir:

Pode ser substituída pelo código detalhado na próxima listagem, em que:

Para ativar este novo recurso do C# 8.0 foi necessário alterar as propriedades do projeto (uma API REST baseada no ASP.NET Core 3.0), acessando para isto a opção Advanced… seção Build:

Em seguida foi habilitado o uso do C# 8.0 (beta) nas propriedades do projeto:

Na imagem a seguir podemos observar que as Using Declarations foram devidamente reconhecidas, com a aplicação em modo debugging no Visual Studio 2019:


E para concluir este post deixo aqui a gravação do hangout que aconteceu nesta quarta-feira (06/03) no Canal .NET, na qual abordei novidades envolvendo o .NET Core 2.2, o ASP.NET Core 2.2, o .NET Core 3.0, o ASP.NET Core 3.0 e o Visual Studio 2019:

E também o link com o segundo episódio DevShow Podcast, em que foi abordada a migração de softwares legados e o uso de tecnologias como .NET Standard, .NET Core e ASP.NET Core. Ouça no seu app favorito, iTunes, Spotify ou no mesmo no site!


Renato Groffe

Written by

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade