C# 4.0 Parâmetros Opcionais e Nomeados

Olá, acabei de instalar a ultima versão do Visual Studio Ultimate 2010 Beta2, começando a explorar as novidades do ASP.NET 4 e do C# 4.0 me deparei com uma nova funcionalidade do C# muito util. Os parâmetros opcionais e nomeados.

Antes do C#4.0

Quando queriamos escrever um método que possuisse algum parâmetro como opcional precisariamos sobrecarregar o mesmo e reescrever seu codigo:

Class Foto.cs
  1. public class Foto
  2. {
  3. public int id { get; set; }
  4. public string nome{ get; set; }
  5. public string descricao { get; set; }
  6. public string _extensao { get; set; }
  7. public string GetUrlFoto()
  8. {
  9. string path = ConfigurationManager.AppSettings["dirImagens"].ToString();
  10. string url = path + “/” + nome + TamanhoFoto.medio.ToString() + _extensao;
  11. return url;
  12. }
  13. public string GetUrlFoto( TamanhoFoto tamanho )
  14. {
  15. string path = ConfigurationManager.AppSettings["dirImagens"].ToString();
  16. string url = path + “/” + nome + tamanho.ToString() + _extensao;
  17. return url;
  18. }
  19. }
Chamada
  1. Foto foto = new Foto();
  2. string url = foto.GetUrlFoto();
  3. string url2 =foto.GetUrlFoto(TamanhoFoto.grande);

Antes do C# 4.0 quando queriamos criar um método que pode ser chamados com várias chamadas diferentes era preciso sobrecarregar o método.

Entretanto isso pode ocasionar muita repetição de codigo e difícil manutenção.

Com o C#4.0

Agora com o C# 4.0 podemos criar um unico método sem sobrecargas com um parametro nomeado com valor padrão

Foto.cs
  1. public class Foto
  2. {
  3. public int id { get; set; }
  4. public string nome { get; set; }
  5. public string descricao { get; set; }
  6. public string _extensao { get; set; }
  7. public string GetUrlFoto(TamanhoFoto tamanho = TamanhoFoto.medio)
  8. {
  9. string path = ConfigurationManager.AppSettings["dirImagens"].ToString();
  10. string url = path + “/” + nome + tamanho.ToString() + _extensao;
  11. return url;
  12. }
  13. }
Chamada
  1. Foto foto = new Foto();
  2. string url = foto.GetUrlFoto();
  3. string url2 = foto.GetUrlFoto(tamanho: TamanhoFoto.grande);

Bem é isso, ficamos todos no aguardo do lançamento do Visual Studio 2010, e em breve mais posts sobre as principais novidades do C# 4.0 e do ASP.NET 4

Obrigado

Rodolfo

This entry was posted in Home and tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>