Sobes.tech
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.