Middle
Para que serve a interface IDisposable em C#?
sobes.tech IA
Resposta da IA
A interface IDisposable é usada para implementar o padrão de libertação de recursos que são geridos fora do ambiente CLR (por exemplo, descritores de ficheiros, ligações de rede, handles do WinAPI).
Objetivos principais:
- Libertação determinista de recursos: Permite libertar explicitamente recursos não geridos imediatamente, em vez de esperar que o coletor de lixo invoque o finalizador (se existir).
- Prevenção de fugas de recursos: Garante que recursos críticos sejam libertados após uso, mesmo que ocorram exceções.
- Uso com a palavra-chave
using: A construçãousinginvoca automaticamente o métodoDispose()do objeto que implementaIDisposableao terminar o bloco de código, garantindo uma libertação fiável.
A implementação inclui o método Dispose() sem parâmetros, que realiza a libertação de recursos. Frequentemente, o padrão inclui um finalizador (destruidor) para libertar recursos caso Dispose() não tenha sido chamado explicitamente, embora seja recomendado evitar finalizadores e confiar no using.
public interface IDisposable
{
void Dispose();
}