Sobes.tech
Junior — Middle

Vysvětlete účel a použití rozhraní IDisposable v .NET

sobes.tech AI

Odpověď od AI

Rozhraní IDisposable v .NET je určeno k uvolnění neřízených zdrojů, jako jsou soubory, síťová spojení, deskriptory atd. Obsahuje metodu — Dispose(), která je volána pro explicitní uvolnění zdrojů.

Použití IDisposable umožňuje kontrolovat dobu uvolnění zdrojů, což je důležité pro prevenci úniků paměti a zámků.

Příklad použití:

class ResourceHolder : IDisposable
{
    private FileStream fileStream;

    public ResourceHolder(string filePath)
    {
        fileStream = new FileStream(filePath, FileMode.Open);
    }

    public void Dispose()
    {
        fileStream?.Dispose();
    }
}

// Použití s příkazem using
using (var resource = new ResourceHolder("file.txt"))
{
    // Práce s prostředkem
}
// Po opuštění using je automaticky volána metoda Dispose()

Tímto způsobem pomáhá IDisposable spravovat životní cyklus zdrojů a zajišťuje jejich správné uvolnění.