DEV Community

Juarez Júnior
Juarez Júnior

Posted on

Dica C#: Membros de Dados em Interfaces

Vamos falar sobre Membros de Dados em Interfaces, introduzidos no C# 12, que permitem que você defina membros de dados diretamente dentro de interfaces, tornando-as mais poderosas e flexíveis. Veja o exemplo no código abaixo.

public interface IProduto
{
    string Nome { get; set; }
    decimal Preco { get; set; }

    // Membro de dados com valor padrão
    decimal Imposto => 0.15m;

    decimal CalcularPrecoComImposto() => Preco + (Preco * Imposto);
}

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

public class Program
{
    public static void Main()
    {
        IProduto produto = new Produto { Nome = "Caneta", Preco = 10.00m };
        Console.WriteLine($"Produto: {produto.Nome}, Preço com imposto: {produto.CalcularPrecoComImposto():C}");
    }
}
Enter fullscreen mode Exit fullscreen mode

Explicação:

No C# 12, é possível declarar membros de dados diretamente dentro de interfaces. Isso significa que além de métodos e propriedades abstratas, uma interface agora pode ter campos de dados concretos, oferecendo uma forma de armazenar estado compartilhado ou valores padrão entre as implementações. Essa nova funcionalidade permite que as interfaces sirvam não apenas como contratos de comportamento, mas também para manter dados comuns entre as implementações.

Isso é útil em cenários onde várias classes compartilham um mesmo conjunto de dados, mas ainda precisam implementar comportamentos específicos. Com essa abordagem, o código fica mais organizado, já que as interfaces podem fornecer tanto comportamento quanto dados padrão para suas implementações.

Código fonte: GitHub

Espero que essa dica ajude você a utilizar Membros de Dados em Interfaces para organizar melhor o seu código! Até a próxima.

Top comments (0)