Middle
À quoi sert l'interface IDisposable en C#?
sobes.tech IA
Réponse de l'IA
L'interface IDisposable est utilisée pour implémenter le modèle de libération des ressources gérées en dehors de l'environnement CLR (par exemple, descripteurs de fichiers, connexions réseau, handles WinAPI).
Objectifs principaux :
- Libération déterministe des ressources : Permet de libérer explicitement les ressources non gérées immédiatement, plutôt que d'attendre que le ramasse-miettes invoque le finaliseur (le cas échéant).
- Prévention des fuites de ressources : Garantit que les ressources critiques sont libérées après utilisation, même en cas d'exceptions.
- Utilisation avec le mot-clé
using: La constructionusingappelle automatiquement la méthodeDispose()de l'objet qui implémenteIDisposableà la fin du bloc de code, assurant une libération fiable.
L'implémentation inclut la méthode Dispose() sans paramètres, qui effectue la libération des ressources. Souvent, le pattern inclut un finaliseur (destructeur) pour libérer les ressources si Dispose() n'a pas été appelé explicitement, mais il est recommandé d'éviter les finaliseurs en se fiant à using.
public interface IDisposable
{
void Dispose();
}