Novidades do C# 6.0 – Parte 1 – Auto Properties

8 jan

Hoje venho falar sobre as novidades do Visual Studio 2015 e com está nova versão vem o C#, então resolvi abordar algumas das novidades da linguagem C# 6.0

A ideia principal segundo o próprio Mads Torgensen, um dos principais responsáveis pelo futuro da linguagem é não ter grandes conceitos para você ter que aprender a linguagem e sim pequenas novas funcionalidades para que possamos escrever um código melhor . =)

A primeira nova funcionalidades que iremos falar é sobre Auto Properties. Não deixe de conferir o vídeo no canal Developers .NET explicando o passo a passo sobre Auto Properties.

Auto properties é uma funcionalidade que já existe há um bom tempo no C# porém o pessoal resolver dar um melhorada na sua declaração e na forma de inicialização.

Auto Properties somente com get:

Não era possível ter auto properties somente com get ao invés disso tínhamos que declarar o set junto ou modificar seu acesso colocando private set

public class Usuario
{
        public string Nome  { get; set; }
        public string Email { get; private set; }
        public DateTime DtNascimento { get; set; }
}

Agora podemos criar nossas propriedades sem a necessidade de ter um set ou um private set

public class Usuario
{
       public string Nome  { get; }
       public string Email { get;  }
       public DateTime DtNascimento { get; }
}

Outra coisa que mudou é a forma de inicialização, agora podemos inicializar diretamente nossas propriedades (particularmente acho que o código pode ficar um pouco sujo a medida que temos muitas propriedades) no construtor ou diretamente conforme código abaixo

public class Usuario
{
    public string Nome { get; }
    public string Email { get; }
    public DateTime DtNascimento { get; }
    public List<Endereco> Endereco { get; set; } = new List<Endereco>();
}

public class Endereco
{
    public string Cep { get; set; }
    public string Logradouro { get; set; }
    public string Complemento { get; set; }
    public string Bairro { get; set; }
    public string Cidade { get; set; }
    public string Estado { get; set; }
}

 

Static Using

E por final temos é que agora podemos importar um função estática em outras linguagens de programação como Python já fazem isso a um bom tempo e realmente foi uma sacada bem legal do pessoal do C#.

Podemos ver no código abaixo, aonde temos um cenário que precisamos converter a data de nascimento do usuário

public class Usuario
    {
        public string Nome { get; }
        public string Email { get; }
        public DateTime DtNascimento { get; }
        public List<Endereco> Endereco { get; set; } = new List<Endereco>();

        public Usuario(string date)
        {
            this.DtNascimento = Convert.ToDateTime(date);
        }
    }

 

Agora podemos somente importar (notem o uso da keyword static junto ao using) a classe estática Convert e usar seus métodos, conforme código abaixo:

using System;
using System.Collections.Generic;
using static System.Convert;

 public class Usuario
    {
        public string Nome { get; }
        public string Email { get; }
        public DateTime DtNascimento { get; }
        public List<Endereco> Endereco { get; set; } = new List<Endereco>();

        public Usuario(string date)
        {
            this.DtNascimento = ToDateTime(date);
        }
    }

 

Até o próximo post, no qual irei falar sobre Interpolação de strings e sua forma maneira de formatar strings.

Abs.,

Deixe uma resposta

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