Junior — Middle
Wyjaśnij cel i użycie interfejsu IDisposable w .NET
sobes.tech AI
Odpowiedź od AI
Interfejs IDisposable w .NET jest przeznaczony do zwalniania niezarządzanych zasobów, takich jak pliki, połączenia sieciowe, deskryptory itp. Zawiera jedną metodę — Dispose(), która jest wywoływana w celu jawnego zwolnienia zasobów.
Użycie IDisposable pozwala kontrolować czas zwalniania zasobów, co jest ważne dla zapobiegania wyciekom pamięci i blokadom.
Przykład użycia:
class ResourceHolder : IDisposable
{
private FileStream fileStream;
public ResourceHolder(string filePath)
{
fileStream = new FileStream(filePath, FileMode.Open);
}
public void Dispose()
{
fileStream?.Dispose();
}
}
// Użycie z instrukcją using
using (var resource = new ResourceHolder("file.txt"))
{
// Praca z zasobem
}
// Po wyjściu z using, automatycznie wywoływane jest Dispose()
W ten sposób IDisposable pomaga zarządzać cyklem życia zasobów i zapewnia ich poprawne zwolnienie.