53 lines
1.4 KiB
C#
53 lines
1.4 KiB
C#
using System;
|
|
|
|
namespace Sarand.Net.Standard.Base.Core
|
|
{
|
|
//=======================================================================
|
|
public abstract class SacsDisposable : IDisposable
|
|
{
|
|
//-------------------------------------------------------------------
|
|
// Data memebrs.
|
|
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
|
|
{
|
|
//-------------------------------------------------------------------
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
|
|
//=======================================================================
|
|
}
|