From 7abbba34990cc742b76c128874776432cdde33bf Mon Sep 17 00:00:00 2001 From: "nicolas.barbosa" Date: Sat, 25 May 2024 20:24:35 +0200 Subject: [PATCH] tentative de correction de code smell dispose --- Sources/CoreLibrary/Manager/Manager.cs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Sources/CoreLibrary/Manager/Manager.cs b/Sources/CoreLibrary/Manager/Manager.cs index b82115c..619d180 100644 --- a/Sources/CoreLibrary/Manager/Manager.cs +++ b/Sources/CoreLibrary/Manager/Manager.cs @@ -1,9 +1,12 @@ 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; @@ -17,9 +20,22 @@ namespace CoreLibrary.Manager public void Dispose() { + Dispose(true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool detruire) + { + if (estDetruit) return; + persistance.Enregistrer(joueurs); - GC.SuppressFinalize(this); + estDetruit = true; + } + + ~Manager() + { + Dispose(false); } } }