IDisposable, Finalizers i definicja niezarządzanego zasobu
Staram się upewnić, że moje zrozumienieIDisposable
jest poprawne i jest jeszcze coś, czego wciąż nie jestem pewien.
IDisposable
wydaje się służyć dwóm celom.
Moje zamieszanie wynika z określenia, które scenariusze mają „niezarządzane zasoby” w grze.
Powiedz, że korzystasz z dostarczonego przez Microsoft oprogramowaniaIDisposable
-implementing (managed) class (powiedzmy, baza danych lub związane z gniazdem).
IDisposable
za jedyne1 lub1 i 2 powyżej?Czy jesteś odpowiedzialny za upewnienie się, że niezarządzane zasoby, które mogą lub nie mogą być przechowywane wewnętrznie, zostaną zwolnione? Czy powinieneś dodać finalizator (czy byłby to właściwy mechanizm?) Do swojej własnej klasy, która wywołuje instancjęOfMsSuppliedClass.Dispose ()?