Junior — Middle
¿En qué consiste la finalidad de la interfaz IDisposable en .NET y cómo se utiliza?
sobes.tech AI
Respuesta de la IA
La interfaz IDisposable en .NET está diseñada para liberar manualmente recursos no administrados (por ejemplo, descriptores de archivos, conexiones a bases de datos) cuando un objeto ya no es necesario.
Uso:
- La clase implementa IDisposable y sobrescribe el método Dispose(), en el cual libera los recursos.
- En el código donde se usa el objeto, se llama explícitamente a Dispose() o se utiliza la construcción
using, que garantiza la llamada a Dispose() incluso en caso de excepciones.
Ejemplo:
class ResourceHolder : IDisposable
{
private bool disposed = false;
public void Dispose()
{
if (!disposed)
{
// Liberar recursos
disposed = true;
GC.SuppressFinalize(this);
}
}
~ResourceHolder()
{
Dispose();
}
}
// Uso
using (var resource = new ResourceHolder())
{
// trabajo con el recurso
}
// Aquí se llamará automáticamente a Dispose()