C# Language IDisposable, Dispose


Exemple

.NET Framework définit une interface pour les types nécessitant une méthode de suppression:

public interface IDisposable
{
  void Dispose();
}

Dispose() est principalement utilisé pour nettoyer les ressources, comme les références non gérées. Cependant, il peut également être utile de forcer l’élimination des autres ressources même si elles sont gérées. Au lieu d'attendre que le GC finisse par nettoyer votre connexion à la base de données, vous pouvez vous assurer que cela est fait dans votre propre implémentation Dispose() .

public void Dispose()
{
   if (null != this.CurrentDatabaseConnection)
   {
       this.CurrentDatabaseConnection.Dispose();
       this.CurrentDatabaseConnection = null;
   }
}

Lorsque vous devez accéder directement à des ressources non managées, telles que des pointeurs non gérés ou des ressources win32, créez une classe héritant de SafeHandle et utilisez les conventions / outils de cette classe pour le faire.