Páginas

quinta-feira, 16 de fevereiro de 2012

Mau uso do TryParse...

Abaixo está uma pérola onde vemos o uso incorreto do método TryParse. Temos uma string, lida de um arquivo, que contém informação de data, e é necessário colocá-la em um objeto do tipo DateTime. Veja como foi feito abaixo.

public DateTime ObterDataControle()
{
    DateTime dt = DateTime.MinValue;

    if (File.Exists(_caminhoArquivo))
    {
        StreamReader sr = new StreamReader(_caminhoArquivo);
        try
        {
            string dateString = sr.ReadLine();

            if (DateTime.TryParse(dateString, out dt))
                dt = Convert.ToDateTime(dateString);
        }
        finally
        {
            sr.Close();
        }
    }
    return dt;
}

O método TryParse retorna um bool, que indica se foi possível converter a string para o determinado tipo. Só que quando é possível efetuar a conversão, este método já coloca o valor no parâmetro que ele recebe de output. Não é necessário fazer (como foi feito no código) uma nova conversão do valor. A linha dt = Convert.ToDateTime(dateString) é totalmente desnecessária.

[]'s

Nenhum comentário:

Postar um comentário