Junior — Middle
Mis on IDisposable liidese eesmärk .NET-is ja kuidas seda kasutada?
sobes.tech AI
Vastus AI-lt
.NET-i IDisposable liides on mõeldud mittehallatud ressursside (näiteks failide kirjeldajate, andmebaasi ühenduste) käsitsi vabastamiseks, kui objekt ei ole enam vajalik.
Kasutamine:
- Klass rakendab IDisposable ja ülekirjutab meetodi Dispose(), milles vabastatakse ressursid.
- Koodis, kus objekt kasutatakse, kutsutakse Dispose() otse või kasutatakse konstruktsiooni
using, mis tagab Dispose() kutsumise isegi erandite korral.
Näide:
class ResourceHolder : IDisposable
{
private bool disposed = false;
public void Dispose()
{
if (!disposed)
{
// Ressursside vabastamine
disposed = true;
GC.SuppressFinalize(this);
}
}
~ResourceHolder()
{
Dispose();
}
}
// Kasutamine
using (var resource = new ResourceHolder())
{
// Ressursiga töötamine
}
// Siin kutsutakse automaatselt Dispose()