public void Dispose() { var pinnable = new PinnableDisposable <DisposeChecker>(new DisposeChecker()); pinnable.Dispose(); Assert.Equal(1, pinnable.Value.Disposed); }
private void SetupSplines() { var splineFile = SplineFile.FromPath(SplineFilePath); _splines = new PinnableDisposable <Spline> [splineFile.Splines.Length]; for (int x = 0; x < _splines.Length; x++) { _splines[x] = new PinnableDisposable <Spline>(new Spline(splineFile.Splines[x])); } // Make unmanaged pointer to array of spline pointers. var splinePointers = new BlittablePointer <Spline> [_splines.Length + 1]; for (int x = 0; x < _splines.Length; x++) { splinePointers[x] = _splines[x].Pointer; } splinePointers[^ 1] = (Spline *)0; // This list finishes with a null pointer.