Junior — Middle
Explique a finalidade e o uso da interface IDisposable no .NET
sobes.tech IA
Resposta da IA
A interface IDisposable no .NET destina-se a libertar recursos não geridos, como ficheiros, ligações de rede, descritores, etc. Ela contém um método — Dispose(), que é chamado para libertar explicitamente os recursos.
A utilização de IDisposable permite controlar o momento da libertação dos recursos, o que é importante para evitar fugas de memória e bloqueios.
Exemplo de utilização:
class ResourceHolder : IDisposable
{
private FileStream fileStream;
public ResourceHolder(string filePath)
{
fileStream = new FileStream(filePath, FileMode.Open);
}
public void Dispose()
{
fileStream?.Dispose();
}
}
// Utilização com a instrução using
using (var resource = new ResourceHolder("file.txt"))
{
// Trabalhar com o recurso
}
// Após sair do using, Dispose() é chamado automaticamente
Assim, IDisposable ajuda a gerir o ciclo de vida dos recursos e garante a sua libertação correta.