Novidades do C# 10: melhorias em Records - utilizando sealed com o método ToString()

Renato Groffe
2 min readOct 24, 2021

--

Já abordei o uso de Records com o C# 9.0, funcionalidade esta que simplifica em muito a implementação de objetos imutáveis em .NET:

Novidades do C# 9: Records

No C# 10.0 essas estruturas também passaram por melhorias. Agora é possível utilizar o modificador sealed em Records que contem com sobrecargas do método ToString().

Ao tentar realizar este tipo de ajuste numa aplicação baseada em .NET 5 + C# 9.0 ocorrerá um erro, como indicado na imagem a seguir:

Já na próxima listagem temos a mesma implementação em uma Console Application baseada no .NET 6 e utilizando esta novidade do C# 10.0 (o modificador sealed com uma sobrecarga de ToString):

O trecho de código a seguir traz exemplos de uso dos records Imposto, ImpostoEstadual e ImpostoMunicipal:

Ao executar esta aplicação teremos o seguinte resultado (já considerando o uso da sobrecarga de ToString):

Este exemplo também foi disponibilizado no GitHub:

https://github.com/renatogroffe/DotNet6_RC2-CSharp10-Records-ToString_Sealed

Abordei essa e outras novidades do C# 10.0 em uma live recente no Canal .NET, a qual pode ser assistida gratuitamente no YouTube:

--

--

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