Files
Common-VS2019/SacsStandardBase/Base/Core/SacsDisposable.cs
T

53 lines
1.4 KiB
C#

using System;
namespace Sarand.Net.Standard.Base.Core
{
//=======================================================================
public abstract class SacsDisposable : IDisposable
{
//-------------------------------------------------------------------
// Data members.
private bool disposed = false;
//-------------------------------------------------------------------
// Construction.
protected SacsDisposable ()
{
}
//-------------------------------------------------------------------
// Disposal.
~SacsDisposable ()
{
Dispose(!disposed);
}
public void Dispose ()
{
if (disposed) return;
Dispose(true);
disposed = true;
GC.SuppressFinalize(this);
}
protected abstract void Dispose (bool disposing);
//-------------------------------------------------------------------
// Properties.
public bool Disposed { get { return disposed; } }
//-------------------------------------------------------------------
// Utilities.
//-------------------------------------------------------------------
}
//=======================================================================
public static class DisposableUtil
{
//-------------------------------------------------------------------
//-------------------------------------------------------------------
}
//=======================================================================
}