top of page

🚀 Novidade no C# 13: Membros Parciais para Propriedades e Indexadores!

No C# 13, foi introduzido o suporte a membros parciais para propriedades e indexadores, ampliando a funcionalidade já existente para métodos. Essa novidade permite que desenvolvedores declarem propriedades e indexadores como partial, facilitando a divisão de sua implementação em múltiplos arquivos ou permitindo que ferramentas automatizadas gerem parte do código.


Principais pontos sobre membros parciais em propriedades e indexadores:

  • Assinaturas Compatíveis: As assinaturas da declaração e da implementação devem corresponder exatamente para que o compilador possa associá-las corretamente.​

  • Restrições: Não é possível usar propriedades automáticas (auto-properties) para implementar propriedades parciais. Ou seja, a implementação deve fornecer explicitamente os acessadores get e/ou set.​


Exemplo de Propriedade Parcial:

// Declaração da propriedade parcial
public partial class Produto
{
    public partial decimal Preco { get; set; }
}

// Implementação da propriedade parcial
public partial class Produto
{
    private decimal preco;

    public partial decimal Preco
    {
        get => preco;
        set
        {
            if (value < 0)
                throw new ArgumentOutOfRangeException(nameof(value), "O preço não pode ser negativo.");
            preco = value;
        }
    }
}

public class Program
{
    public static void Main()
    {
        var produto = new Produto();
        produto.Preco = 10;

        Console.WriteLine("O preço do produto é: " + produto.Preco);
    }
}

No exemplo acima, note que para declarar uma propriedade estática, nós apenas adicionamos a palavra "partial", como no trecho: "public partial decimal Preco".

A introdução de membros parciais para propriedades e indexadores no C# 13 oferece aos desenvolvedores maior flexibilidade e controle sobre a estrutura e organização do código, promovendo práticas de desenvolvimento mais eficientes e colaborativas.


 
 

Posts recentes

Ver tudo
bottom of page