Junior — Middle
Qual è lo scopo dell'interfaccia IDisposable in .NET e come si utilizza?
sobes.tech AI
Risposta dell'AI
L'interfaccia IDisposable in .NET è progettata per liberare manualmente risorse non gestite (ad esempio, descrittori di file, connessioni al database) quando un oggetto non è più necessario.
Utilizzo:
- La classe implementa IDisposable e sovrascrive il metodo Dispose(), nel quale libera le risorse.
- Nel codice in cui si utilizza l'oggetto, si chiama esplicitamente Dispose() o si utilizza la costruzione
using, che garantisce la chiamata a Dispose() anche in caso di eccezioni.
Esempio:
class ResourceHolder : IDisposable
{
private bool disposed = false;
public void Dispose()
{
if (!disposed)
{
// Liberare risorse
disposed = true;
GC.SuppressFinalize(this);
}
}
~ResourceHolder()
{
Dispose();
}
}
// Utilizzo
using (var resource = new ResourceHolder())
{
// lavoro con la risorsa
}
// Qui viene chiamato automaticamente Dispose()