Uso correcto de la interfaz IDisposable en C#: ¿cómo evitar fugas de memoria?
¡Hola a todos! Soy un desarrollador principiante de C# y no logro entender la interfaz IDisposable. Leí la documentación, pero en la práctica aún tengo dudas.
Tengo una clase que trabaja con archivos y conexiones de red. Implementé IDisposable, pero no estoy seguro de hacerlo correctamente. Aquí hay un ejemplo de mi código:
public class FileProcessor : IDisposable
{
private FileStream _fileStream;
private NetworkStream _networkStream;
private bool _disposed = false;
public void ProcessFile(string path)
{
_fileStream = new FileStream(path, FileMode.Open);
// algún procesamiento
}
public void Dispose()
{
if (_fileStream != null)
_fileStream.Dispose();
if (_networkStream != null)
_networkStream.Dispose();
}
}
Llamo a Dispose() manualmente, pero he oído que se debe usar el patrón Dispose(bool). También me confunde:
1. ¿Es necesario llamar a GC.SuppressFinaliz No answers yet.
Inicia sesión para dejar una respuesta