O que estamos fazendo? Estamos lendo um arquivo no programa e antes de dar erro estamos fechando-o? E o que seria a conferência de referência nula? Como ela poderia se manter ou mudar de estado?
public class LeitorDeArquivo : IDisposable
{
public string Arquivo { get; }
public LeitorDeArquivo(string arquivo)
{
Arquivo = arquivo;
//throw new FileNotFoundException();
Console.WriteLine("Abrindo arquivo" + arquivo);
}
public string LerProximaLinha()
{
Console.WriteLine("Lendo linha . . .");
//throw new IOException();
return "Linha do arquivo";
}
public void Dispose()
{
Console.WriteLine("Fechando arquivo.");
}
}