using CoreLibrary.Joueurs; using System.Runtime.InteropServices; namespace CoreLibrary.Manager { public class Manager : IDisposable { private bool estDetruit; private readonly IPersistanceManager persistance; private readonly IEnumerable joueurs; public IEnumerable Joueurs => joueurs; public Manager(IPersistanceManager persistance) { this.persistance = persistance; joueurs = this.persistance.Charger(); } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } protected virtual void Dispose(bool detruire) { if (estDetruit) return; persistance.Enregistrer(joueurs); estDetruit = true; } ~Manager() { Dispose(false); } } }