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

Comentários

Postagens mais visitadas deste blog

Trocando configurações padrão do Live TIM

Uma proposta de Clean Architecure com Modelo de Atores

Testes automatizados em sistemas autenticados com certificados digitais, usando Selenium e PhantomJS