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.
Top comments (0)