private bool disposedValue = false; // Pour détecter les appels redondants protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { parentEnvironment.Elements.Remove(this); foreach (var item in lastDrawing) { OnScreenPixel loc = parentEnvironment.Canvas.PixelsLocation[item.Coords.X][item.Coords.Y]; for (int i = 0; i < loc.Pixels.Count; i++) { if (loc.Pixels[i].Owner == this) { loc.Pixels.RemoveAt(i); break; } } } } // TODO: libérer les ressources non managées (objets non managés) et remplacer un finaliseur ci-dessous. no ty lastDrawing = null; disposedValue = true; } }
private void ResetPixelArray() { PixelsLocation = new OnScreenPixel[mode.Columns][]; for (int i = 0; i < PixelsLocation.Length; i++) { PixelsLocation[i] = new OnScreenPixel[mode.Rows]; } }