protected virtual void Dispose(bool disposing) { if (disposed) { return; } disposed = true; if (disposing) { // releasing managed resources } // unmanaged resources if (lua_State != IntPtr.Zero) { CApi.lua_close(lua_State); } }