Sobes.tech
Junior — Middle

Εξηγήστε τον σκοπό και τη χρήση της διεπαφής IDisposable στο .NET

sobes.tech AI

Απάντηση από AI

Η διεπαφή IDisposable στο .NET προορίζεται για την απελευθέρωση μη διαχειριζόμενων πόρων, όπως αρχεία, συνδέσεις δικτύου, περιγραφείς κ.λπ. Περιέχει μια μέθοδο — Dispose(), η οποία καλείται για την ρητή απελευθέρωση των πόρων.

Η χρήση του IDisposable επιτρέπει τον έλεγχο του χρόνου απελευθέρωσης των πόρων, κάτι που είναι σημαντικό για την αποτροπή διαρροών μνήμης και μπλοκαρισμάτων.

Παράδειγμα χρήσης:

class ResourceHolder : IDisposable
{
    private FileStream fileStream;

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

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

// Χρήση με την εντολή using
using (var resource = new ResourceHolder("file.txt"))
{
    // Εργασία με τον πόρο
}
// Μετά την έξοδο από το using, καλείται αυτόματα η Dispose()

Έτσι, το IDisposable βοηθά στη διαχείριση του κύκλου ζωής των πόρων και διασφαλίζει την ορθή απελευθέρωσή τους.