Esse é o 8º post da série sobre C# 7. Pra acompanhar a série você pode seguir a tag C#7 no blog ou voltar no post que agrega a série.

Novidades do C# 7: Mais expression bodied members

Expression bodied members são aqueles membros de um tipo no C# que utilizam aquela sintaxe da “flecha” (o =>) para definir seu corpo, seguido de uma expressão (somente expressões funcionam, declarações – como if não funcionam).

Essa funcionalidade surgiu na versão 6, mas alguns membros ficaram de fora. Na versão 7 eles foram incluídos. Começando no C#7 construtores, finalizadores, e propriedades e indexadores (tanto no get quanto no set) podem usar a nova sintaxe.

Veja um exemplo de cada um abaixo:

// Construtor com expressão:
public Exemplo(string label) => this.Label = label;

// Finalizador com expressão:
~Exemplo() => Console.Error.WriteLine("Finalizado!");

private string label;

// Propriedade com get e set com expressão
public string Label
{
    get => label;
    set => label = value ?? "Valor padrão";
}

Você consegue ler sobre as novidades nos expression bodied members nos docs das novidades do C# 7 no Microsoft Docs.

Giovanni Bassi

Arquiteto e desenvolvedor, agilista, escalador, provocador. É fundador e CSA da Lambda3. Programa porque gosta. Acredita que pessoas autogerenciadas funcionam melhor e por acreditar que heterarquia é mais eficiente que hierarquia. Foi reconhecido Microsoft MVP há mais de dez anos, dos mais de vinte que atua no mercado. Já palestrou sobre .NET, Rust, microsserviços, JavaScript, TypeScript, Ruby, Node.js, Frontend e Backend, Agile, etc, no Brasil, e no exterior. Liderou grupos de usuários em assuntos como arquitetura de software, Docker, e .NET.