private void Dispose(bool disposing) { if (IsClosed) { return; } if (disposing && !(SharedRealmHandle is UnownedRealmHandle)) { SharedRealmHandle.CloseRealm(); } SharedRealmHandle.Close(); // Note: this closes the *handle*, it does not trigger realm::Realm::close(). }
private void Dispose(bool disposing) { if (IsClosed) { throw new ObjectDisposedException(nameof(Realm)); } if (disposing && !(SharedRealmHandle is UnownedRealmHandle)) { SharedRealmHandle.CloseRealm(); } SharedRealmHandle.Close(); // Note: this closes the *handle*, it does not trigger realm::Realm::close(). if (stringGetBuffer != IntPtr.Zero) { Marshal.FreeHGlobal(stringGetBuffer); stringGetBuffer = IntPtr.Zero; stringGetBufferLen = 0; } }