Junior — Middle
Quelle est la finalité de l'interface IDisposable en .NET et comment l'utiliser?
sobes.tech IA
Réponse de l'IA
L’interface IDisposable dans .NET est conçue pour libérer manuellement les ressources non managées (par exemple, des descripteurs de fichiers, des connexions à une base de données) lorsque l’objet n’est plus nécessaire.
Utilisation :
- La classe implémente IDisposable et redéfinit la méthode Dispose(), dans laquelle elle libère les ressources.
- Dans le code où l’objet est utilisé, Dispose() est appelé explicitement ou la construction
usingest utilisée, ce qui garantit l’appel à Dispose() même en cas d’exception.
Exemple :
class ResourceHolder : IDisposable
{
private bool disposed = false;
public void Dispose()
{
if (!disposed)
{
// Libération des ressources
disposed = true;
GC.SuppressFinalize(this);
}
}
~ResourceHolder()
{
Dispose();
}
}
// Utilisation
using (var resource = new ResourceHolder())
{
// travail avec la ressource
}
// Dispose() sera appelé automatiquement ici