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.,