Dica C#: Required Members

Vamos falar sobre Required Members, introduzidos no C# 11, que permitem declarar propriedades que devem ser obrigatoriamente inicializadas, garantindo que objetos criados estejam sempre em um estado válido. Veja o exemplo no código abaixo.

public cl…


This content originally appeared on DEV Community and was authored by Juarez Júnior

Vamos falar sobre Required Members, introduzidos no C# 11, que permitem declarar propriedades que devem ser obrigatoriamente inicializadas, garantindo que objetos criados estejam sempre em um estado válido. Veja o exemplo no código abaixo.

public class Produto
{
    public required string Nome { get; set; }
    public required decimal Preco { get; set; }
}

public class Program
{
    public static void Main()
    {
        Produto produto = new Produto
        {
            Nome = "Caneta",
            // Vai gerar um erro ao compilar
            //Preco = 2.99m
        };

        Console.WriteLine($"Produto: {produto.Nome}, Preço: {produto.Preco}");
    }
}

Explicação:

Os Required Members permitem que você marque certas propriedades de uma classe como obrigatórias, forçando que elas sejam inicializadas no momento da criação do objeto. Isso é muito útil para evitar que objetos sejam criados sem ter todas as informações necessárias, o que pode gerar inconsistências ou erros em tempo de execução.

No exemplo acima, temos uma classe Produto com propriedades Nome e Preco, e ambas são obrigatórias. Se um objeto Produto for instanciado sem inicializar essas propriedades, o compilador acusará um erro, garantindo que o objeto sempre tenha os dados completos desde o início.

Código fonte: GitHub

Espero que essa dica ajude você a usar Required Members para garantir a integridade dos objetos criados em seus projetos! Até a próxima.


This content originally appeared on DEV Community and was authored by Juarez Júnior


Print Share Comment Cite Upload Translate Updates
APA

Juarez Júnior | Sciencx (2024-09-15T12:00:00+00:00) Dica C#: Required Members. Retrieved from https://www.scien.cx/2024/09/15/dica-c-required-members/

MLA
" » Dica C#: Required Members." Juarez Júnior | Sciencx - Sunday September 15, 2024, https://www.scien.cx/2024/09/15/dica-c-required-members/
HARVARD
Juarez Júnior | Sciencx Sunday September 15, 2024 » Dica C#: Required Members., viewed ,<https://www.scien.cx/2024/09/15/dica-c-required-members/>
VANCOUVER
Juarez Júnior | Sciencx - » Dica C#: Required Members. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/09/15/dica-c-required-members/
CHICAGO
" » Dica C#: Required Members." Juarez Júnior | Sciencx - Accessed . https://www.scien.cx/2024/09/15/dica-c-required-members/
IEEE
" » Dica C#: Required Members." Juarez Júnior | Sciencx [Online]. Available: https://www.scien.cx/2024/09/15/dica-c-required-members/. [Accessed: ]
rf:citation
» Dica C#: Required Members | Juarez Júnior | Sciencx | https://www.scien.cx/2024/09/15/dica-c-required-members/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.