arskrald/AR-2/Assets/OpenCVForUnity/org/opencv/DisposableObject.cs

57 lines
1.1 KiB
C#
Executable File

using UnityEngine;
using System;
namespace OpenCVForUnity
{
abstract public class DisposableObject : IDisposable
{
public bool IsDisposed { get; protected set; }
public bool IsEnabledDispose { get; set; }
protected DisposableObject ()
: this (true)
{
}
protected DisposableObject (bool isEnabledDispose)
{
IsEnabledDispose = isEnabledDispose;
IsDisposed = false;
}
public void Dispose ()
{
Dispose (true);
GC.SuppressFinalize (this);
}
protected virtual void Dispose (bool disposing)
{
if (!IsDisposed)
{
if (disposing)
{
}
IsDisposed = true;
}
}
~DisposableObject ()
{
Dispose (false);
}
public void ThrowIfDisposed ()
{
if (IsDisposed)
throw new ObjectDisposedException (GetType ().FullName);
}
}
}