Junior — Middle
Mi a célja az IDisposable interfésznek a .NET-ben, és hogyan kell használni?
sobes.tech MI
Válasz az MI-től
A .NET-ben az IDisposable interfész arra szolgál, hogy kézzel felszabadítsuk a nem kezelt erőforrásokat (például fájldeskriptorokat, adatbázis-kapcsolatokat), amikor az objektum már nem szükséges.
Használat:
- A osztály implementálja az IDisposable-t és felülírja a Dispose() metódust, amelyben felszabadítja az erőforrásokat.
- A kódban, ahol az objektumot használják, explicit módon meghívják a Dispose() metódust vagy a
usingszerkezetet alkalmazzák, amely garantálja a Dispose() hívását még kivétel esetén is.
Példa:
class ResourceHolder : IDisposable
{
private bool disposed = false;
public void Dispose()
{
if (!disposed)
{
// Erőforrások felszabadítása
disposed = true;
GC.SuppressFinalize(this);
}
}
~ResourceHolder()
{
Dispose();
}
}
// Használat
using (var resource = new ResourceHolder())
{
// erőforrással való munka
}
// Itt automatikusan meghívódik a Dispose()