Novidades do C# 10: Global Usings
Neste segundo artigo da série de novidades do C# 10 abordarei a utilização de Global Usings. Tal funcionalidade possibilita que instruções using referenciando namespaces sejam declaradas em um único ponto do projeto (um simples arquivo .cs), dispensando assim a necessidade de incluir usings referenciando os mesmos namespaces em múltiplos arquivos .cs.
Deixo aqui também o link do primeiro artigo desta série, caso ainda não tenha acessado o mesmo ou até deseje revê-lo:
Novidades do C# 10: File-scoped namespaces
Partindo da implementação da classe ConversorTemperaturasController:
E da classe ConversorDistanciasController:
Analisando esses 2 tipos é possível observar 3 usings referenciando namespaces em comum (além do uso de File-scoped Namespaces, outra novidade que demonstrei no primeiro artigo desta série).
Essas declarações podem então ser agrupadas em um único arquivo .cs, precedidas pela palavra-chave global:
Com estes Global Usings podemos remover as declarações using de ConversorTemperaturasController:
E do tipo ConversorDistanciasController:
Tais ajustes foram demonstrados na animação a seguir, com o próprio Visual Studio Code indicando a presença de usings desnecessários no arquivo ConversorDistanciasController.cs:
O exemplo aqui apresentado foi criado utilizando o ASP.NET Core e o Preview 7 do .NET 6, estando já disponível no GitHub:
https://github.com/renatogroffe/ASPNETCore6-Preview7-Global_Usings-REST_API-ConversoesMedidas