//[SecurityPermission(SecurityAction.Demand, UnmanagedCode = true)] protected virtual void Dispose(bool disposing) { if (!disposing || _disposed) { return; } lock (_locker) { GrammarApi.sol_DeleteResPack(_hPack); _disposed = true; } }