Junior — Middle
Pode dar um exemplo de uma situação em que o padrão IDisposable é utilizado para gerir recursos?
sobes.tech IA
Resposta da IA
O padrão IDisposable é utilizado para gerir recursos não geridos, como descritores de ficheiros, ligações de rede, fluxos, etc. O seu objetivo é garantir a libertação de recursos quando o objeto já não é necessário.
Exemplo: trabalhar com um ficheiro. A classe FileStream implementa IDisposable para fechar o ficheiro e libertar o descritor após utilização.
using (var stream = new FileStream("ficheiro.txt", FileMode.Open))
{
// Trabalhar com o ficheiro
}
// Aqui, stream.Dispose() é chamado automaticamente, fechando o ficheiro
O uso da construção using garante a chamada a Dispose, mesmo que ocorra uma exceção.