DEV Community

Juarez Júnior
Juarez Júnior

Posted on

Dica C#: Sealed Record Classes

Vamos falar sobre as Sealed Record Classes, introduzidas no C# 10, que permitem criar records que não podem ser herdados, mantendo as propriedades imutáveis e impedindo que outros tipos derivem delas. Veja o exemplo no código abaixo.

public sealed record Produto(string Nome, decimal Preco);

// Você não pode fazer herança
//public record Caneta(string cor) : Produto;

public class Program
{
    public static void Main()
    {
        Produto produto = new("Caneta", 2.99m);
        Console.WriteLine($"Produto: {produto.Nome}, Preço: {produto.Preco}");
    }
}
Enter fullscreen mode Exit fullscreen mode

Explicação:

No C# 10, agora você pode criar Classes Record Sealed, que são records que não permitem herança. Isso é útil quando você deseja garantir que uma estrutura de dados específica seja imutável e não possa ser modificada por classes derivadas. Quando você marca um record como sealed, você evita que ele seja estendido por outros tipos, garantindo que a implementação e os dados permaneçam inalterados.

Esse recurso é especialmente útil em cenários onde a segurança e consistência dos dados são essenciais, como ao trabalhar com modelos de domínio que não devem ser alterados ou estendidos.

Código fonte: GitHub

Espero que essa dica ajude você a usar Classes Record Sealed para proteger seus modelos e dados! Até a próxima.

Top comments (0)