Novidades do C# 6.0 – Expression-bodied methods

Continuando a falar sobre as novidades do C# 6.0, disponível no Visual Studio 2015, é possível simplificar a escrita de métodos ou propriedades através do expression-bodied methods.

Para exemplificar, vou utilizar uma classe chamada Ponto com as propriedades X e Y, mais o método ToString, conforme código abaixo:

class Ponto
{
    public int X { get; set; }

    public int Y { get; set; }

    public override string ToString()
    {
        return $"Ponto ({X}, {Y})";
    }
}

Utilizando a nova sintaxe, é possível simplificar o método ToString em uma única linha:

class Ponto
{
    public int X { get; set; }

    public int Y { get; set; }

    public override string ToString() => $"Ponto ({X}, {Y})";
}

Esta mesma sintaxe pode ser utilizada para propriedades, vamos supor que eu tenha uma propriedade qualquer que retorne um valor:

class Ponto
{
    public int X { get; set; }

    public int Y { get; set; }

    public int propriedade 
    {
        get
        {
            return this.X * this.Y; 
        }
    }
}

Ela pode ser simplificada da seguinte forma:

class Ponto
{
    public int X { get; set; }

    public int Y { get; set; }

    public int propriedade => this.X * this.Y;
}

Observe que não é necessário informar o get neste caso, pois está implícito. Com esta sintaxe, não é possível ter o get e o set para a propriedade.

Para quem tiver interesse em conhecer todas as novidades do C# 6.0 acesse o link.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *