Junior — Middle
Објасните сврху и коришћење интерфејса IDisposable у .NET
sobes.tech АИ
Одговор од АИ
Interfejs IDisposable u .NET je namenjen za oslobađanje neuređenih resursa, kao što su fajlovi, mrežne veze, deskriptori itd. Sadrži jednu metodu — Dispose(), koja se poziva za eksplicitno oslobađanje resursa.
Korišćenje IDisposable omogućava kontrolu vremena oslobađanja resursa, što je važno za sprečavanje curenja memorije i blokada.
Primer upotrebe:
class ResourceHolder : IDisposable
{
private FileStream fileStream;
public ResourceHolder(string filePath)
{
fileStream = new FileStream(filePath, FileMode.Open);
}
public void Dispose()
{
fileStream?.Dispose();
}
}
// Korišćenje sa using naredbom
using (var resource = new ResourceHolder("file.txt"))
{
// Rad sa resursom
}
// Nakon izlaska iz using automatski se poziva Dispose()
Na ovaj način, IDisposable pomaže u upravljanju životnim ciklusom resursa i garantuje njihovo ispravno oslobađanje.