Vamos explorar os Extended Property Patterns, introduzidos no C# 10, que permitem combinar condições mais complexas em propriedades de objetos durante o pattern matching. Veja o exemplo no código abaixo.
public class Produto
{
public string Nome { get; set; }
public decimal Preco { get; set; }
}
public class Program
{
public static void Main()
{
Produto produto = new Produto { Nome = "Caneta", Preco = 5.99m };
string resultado = produto switch
{
{ Preco: > 10.00m } => "Produto caro",
{ Preco: <= 10.00m } => "Produto acessível",
_ => "Preço desconhecido"
};
Console.WriteLine(resultado);
}
}
Explicação:
Com os Extended Property Patterns, você pode usar o pattern matching para acessar propriedades aninhadas de um objeto e aplicar condições diretamente a essas propriedades. Isso simplifica a verificação de condições complexas em objetos e torna o código mais legível e expressivo. No exemplo acima, utilizamos essa funcionalidade para verificar se um objeto Produto tem um Preco maior que um valor específico, tudo isso dentro de uma única expressão switch.
Código fonte: GitHub
Espero que essa dica ajude você a utilizar os Extended Property Patterns para escrever código mais expressivo e eficiente! Até a próxima.
Top comments (0)