public virtual void Dispose() { lock (this) { if (swigCPtr.Handle != global::System.IntPtr.Zero) { swigCMemOwn = false; if (Environment.Is64BitProcess) { CoolPropPINVOKE64.delete_AbstractState(swigCPtr); } else { CoolPropPINVOKE.delete_AbstractState(swigCPtr); } swigCPtr = new HandleRef(null, IntPtr.Zero); } GC.SuppressFinalize(this); } }