Nivelul 4 — Clase
Destructori
Note originale de SunDiaL · Vezi sursa în engleză
Dacă un constructor este responsabil de crearea unui obiect al clasei tale, destructorul este responsabil de distrugerea lui.
În practică, un destructor nu este neapărat necesar, deoarece responsabilitatea eliberării memoriei a fost preluată de la dezvoltator odată cu introducerea colectoarelor de memorie. Dacă totuși trebuie să faci ceva la distrugerea obiectului, există un mecanism suplimentar oferit de șablonul Disposable. Vom discuta despre el mai târziu.
Definirea unui destructor
Un destructor se definește asemănător unui constructor, adăugând ~.
public class ExampleClass()
{
public ~ExampleClass()
{
//something to do when the object is destroyed
}
}
Apelarea unui destructor
Un destructor în C# nu este folosit direct de dezvoltator. El este apelat de colectorul de memorie atunci când acesta consideră că obiectul poate fi colectat.