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 βοηθά στη διαχείριση του κύκλου ζωής των πόρων και διασφαλίζει την ορθή απελευθέρωσή τους.