DEV Community

Juarez Júnior
Juarez Júnior

Posted on • Updated on

Dica C#: Init-Only Setters

Hoje, a dica vem com uma funcionalidade super útil do C# 9: Init-Only Setters. Essa novidade permite criar propriedades que só podem ser inicializadas durante a construção do objeto, garantindo imutabilidade. Veja no código abaixo.

public class Produto
{
    public string Nome { get; init; }
    public decimal Preco { get; init; }
}

public class Program
{
    public static void Main()
    {
        var produto = new Produto { Nome = "Caneta", Preco = 2.99m };
        // produto.Preco = 3.99m; // Erro: propriedades init-only não podem ser modificadas
        Console.WriteLine(produto);
    }
}
Enter fullscreen mode Exit fullscreen mode

Explicação: Os Init-Only Setters permitem que você defina uma propriedade durante a inicialização do objeto, mas não a altere posteriormente. Isso é muito útil para garantir que os dados de um objeto permaneçam consistentes após sua criação.

Código fonte: GitHub

Espero que essa dica ajude a tornar seu código mais seguro e imutável! Até a próxima.

Top comments (0)