Novidades do C# 11: melhorias no uso de nameof

Renato Groffe
2 min readNov 14, 2022

--

O uso do operador nameof em versões anteriores do C# apresenta uma limitação: a impossibilidade de referenciarmos parâmetros de um método em expressões utilizadas com Attributes.

No exemplo da imagem a seguir temos a tentativa de definir uma rota em uma Action, a qual receberia por meio do parâmetro temperatura um valor em graus Fahrenheit para conversão. A expressão nameof associada ao atributo HttpGet resultará em um erro de compilação:

Essa restrição foi superada com o lançamento do C# 11. A próxima listagem traz este mesmo exemplo de API REST já convertido para o .NET 7 e empregando a expressão nameof (linha 17), seguida por uma execução de build que apresentou sucesso:

Ao executarmos esse projeto e acessarmos a interface gráfica do Swagger/OpenAPI notaremos o termo temperatura como parâmetro/parte do endpoint, graças a esta nova capacidade envolvendo o uso do parâmetro nameof:

Este exemplo foi disponibilizado no GitHub:

https://github.com/renatogroffe/DotNet7-ASPNETCore-REST_API-CSharp11-AutoDefaultStructs_ConversaoTemperaturas

Caso achem útil esta solução, peço por favor um ⭐️ no repositório apoiando. Fica também o convite para que vocês me sigam lá no GitHub!

--

--

Renato Groffe
Renato Groffe

Written by Renato Groffe

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

No responses yet