PkmnLibSharp/PkmnLibSharp/PointerWrapper.cs

24 lines
487 B
C#

using System;
namespace PkmnLibSharp
{
public abstract class PointerWrapper : IDisposable
{
internal readonly IntPtr Ptr;
private bool _isDeleted = false;
protected PointerWrapper(IntPtr ptr)
{
Ptr = ptr;
}
internal abstract void DeletePtr();
public virtual void Dispose()
{
if (_isDeleted)
return;
DeletePtr();
_isDeleted = true;
}
}
}