public void NotFailWhenMagicAPIErrorOccured() { var q = new APIObject(5); MagicAPI.Free(5); q.Dispose(); }
public void HaveFinalizer() { CreateApiObject(4); GC.Collect(); Thread.Sleep(1000); Assert.False(MagicAPI.Contains(4)); }
/// <summary> /// Освободить память, /// выделенную API /// </summary> /// <param name="disposing"> /// Флаг для указания /// откуда была вызвана функция: /// true - явным образом /// false - из финализатора /// </param> protected virtual void Dispose(bool disposing) { if (!disposedValue) { MagicAPI.Free(this.n); disposedValue = true; } }
public void Dispose(int value) { if (!isDisposed) { MagicAPI.Free(value); } isDisposed = true; }
private void MyOwnDispose() { if (_state != null) { MagicAPI.Free((int)_state); _state = null; } }
public void DisposeDontCrashFinalizer() { CreateAndDisposeApiObject(42); GC.Collect(); Thread.Sleep(1000); Assert.False(MagicAPI.Contains(42)); Assert.False(MagicAPI.Contains(100500)); }
public void FreeResourcesInUsing() { using (var q = new APIObject(2)) { Assert.True(MagicAPI.Contains(2)); } Assert.False(MagicAPI.Contains(2)); }
public void Dispose() { foreach (var allocatedId in allocatedIds) { MagicAPI.Free(allocatedId); } allocatedIds.Clear(); }
public void Dispose() { if (!disposedValue) { MagicAPI.Free(pupaAndLupa); disposedValue = true; } }
public void FreeResourcesWhenDisposeCalled() { var q = new APIObject(1); Assert.True(MagicAPI.Contains(1)); q.Dispose(); Assert.False(MagicAPI.Contains(1)); }
private void Dispose(bool fromDispose) { if (!_isDisposed) { MagicAPI.Free(_id); _isDisposed = true; } }
public void Dispose() { if (!isDisposed) { MagicAPI.Free(value); } GC.SuppressFinalize(this); isDisposed = true; }
public void DontFailWhenTwoDisposeAreCalled() { var q = new APIObject(3); Assert.True(MagicAPI.Contains(3)); q.Dispose(); q.Dispose(); Assert.False(MagicAPI.Contains(3)); }
protected virtual void Dispose(bool disposing) { if (disposing) { if (MagicAPI.Contains(i)) { MagicAPI.Free(i); } } }
public void Dispose(bool disposing) { if (disposed) { return; } MagicAPI.Free(n); disposed = true; }
protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { MagicAPI.Free(id); } disposedValue = true; } }
protected virtual void Dispose(bool disposing) { if (!isDisposed) { if (disposing) { } MagicAPI.Free(id); isDisposed = true; } }
protected virtual void Dispose(bool fromDisposeMethod) { if (!isDisposed) { try { MagicAPI.Free(resource); isDisposed = true; } catch (ArgumentException) { } } }
public APIObject(int number) { allocatedIds.Add(number); MagicAPI.Allocate(number); }
public APIObject(int i) { this.i = i; MagicAPI.Allocate(i); }
public APIObject(int resource) { this.resource = resource; MagicAPI.Allocate(resource); }
public APIObject(int x) { _state = x; MagicAPI.Allocate(x); }
public APIObject(int n) { this.n = n; MagicAPI.Allocate(n); }
private bool disposedValue = false; // Для определения избыточных вызовов public APIObject(int number) { this.pupaAndLupa = number; MagicAPI.Allocate(number); }
public APIObject(int id) { this.id = id; MagicAPI.Allocate(id); }
public APIObject(int value) { this.value = value; MagicAPI.Allocate(value); }