public class MyResourceHolder : IDisposable
{
private bool _disposed = false;
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
{
if (disposing)
{
// Dispose managed resources here
}
// Dispose unmanaged resources here
_disposed = true;
}
}
~MyResourceHolder()
{
Dispose(false);
}
}