Sobes.tech
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.