/// <summary> /// Releases unmanaged resources /// </summary> protected override void DisposeUnmanaged() { switch (handleKind) { case HandleKind.Scalar: NativeMethods.HandleException( NativeMethods.core_InputArray_delete_withScalar(ptr, handle)); break; case HandleKind.Double: Marshal.FreeHGlobal(handle); goto default; case HandleKind.Vec: var gch = GCHandle.FromIntPtr(handle); if (gch.IsAllocated) { gch.Free(); } goto default; default: NativeMethods.HandleException( NativeMethods.core_InputArray_delete(ptr)); break; } base.DisposeUnmanaged(); }
/// <summary> /// Releases unmanaged resources /// </summary> protected override void DisposeUnmanaged() { switch (handleKind) { case HandleKind.Scalar: NativeMethods.core_InputArray_delete_withScalar(ptr, handle); break; case HandleKind.Double: Marshal.FreeHGlobal(handle); goto default; default: NativeMethods.core_InputArray_delete(ptr); break; } base.DisposeUnmanaged(); }
/// <summary> /// /// </summary> /// <param name="disposing"></param> protected override void Dispose(bool disposing) { if (!disposed) { try { if (disposing) { } if (ptr != IntPtr.Zero) { NativeMethods.core_InputArray_delete(ptr); ptr = IntPtr.Zero; } obj = null; disposed = true; } finally { base.Dispose(disposing); } } }
/// <summary> /// Releases unmanaged resources /// </summary> protected override void DisposeUnmanaged() { NativeMethods.core_InputArray_delete(ptr); base.DisposeUnmanaged(); }