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:

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Renato Groffe
Renato Groffe

Written by Renato Groffe

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

No responses yet

Write a response