Esempio di come rilasciare le risorse implementando l'interfaccia IDisposable.
public class MiaClasse : IDisposable
{
#region DISPOSE
private IntPtr handle;
private Component component = new Component();
private bool disposed = false;
[DllImport("Kernel32")]
private extern static Boolean CloseHandle(IntPtr handle);
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
private void Dispose(bool disposing)
{
if (!this.disposed)
{
if (disposing)
{
component.Dispose();
}
CloseHandle(handle);
handle = IntPtr.Zero;
disposed = true;
}
}
~DataBaseHandler()
{
Dispose(false);
}
#endregion
public MiaClasse(IntPtr handle)
{
this.handle = handle;
}
}
Nessun commento:
Posta un commento