DEV Community

Juarez Júnior for Develop4Us

Posted on • Edited 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.

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay