Junior — Middle
Explica el propósito y uso de la interfaz IDisposable en .NET
sobes.tech AI
Respuesta de la IA
La interfaz IDisposable en .NET está diseñada para liberar recursos no gestionados, como archivos, conexiones de red, descriptores, etc. Contiene un método llamado Dispose(), que se invoca para liberar explícitamente los recursos.
El uso de IDisposable permite controlar el momento en que se liberan los recursos, lo cual es importante para prevenir fugas de memoria y bloqueos.
Ejemplo de uso:
class ResourceHolder : IDisposable
{
private FileStream fileStream;
public ResourceHolder(string filePath)
{
fileStream = new FileStream(filePath, FileMode.Open);
}
public void Dispose()
{
fileStream?.Dispose();
}
}
// Uso con la instrucción using
using (var resource = new ResourceHolder("file.txt"))
{
// Trabajar con el recurso
}
// Después de salir del using, Dispose() se llama automáticamente
De esta forma, IDisposable ayuda a gestionar el ciclo de vida de los recursos y garantiza su correcta liberación.