static void Main(string[] args) { //CollectTest(); while (!Console.KeyAvailable) { //var bm = new String('A', 1000000); //nem tömi el a memóriát, mert nincs véglegesítője. Viszont a GC folyamatosan fut //var bm = new Bitmap(1240, 1024) //eltömi a memóriát, mert van véglegesítője, és nincs idő a meghívására //using (var bm = new Bitmap(1240, 1024)) { } //nem tömi el a memóriát, mert nem hívja a véglegesitőt. //Kérdés: mi hogy tudunk ilyen osztályt írni? //eltömi a memóriát, mert van véglegesítője, //és nincs idő a meghívására, ha nem implementálunk IDisposable-t //var bm = new TakaritandoPelda(); using (var sajatOsztaly = new TakaritandoPelda()) { } //A using syntactic sugar, ezt generálja a fordító: //var sajatOsztaly = new TakaritandoPelda(); //try //{ // //A sajátosztály műveletei vannak //} //finally //{ // ((IDisposable)sajatOsztaly).Dispose(); //} } }
private static void Teszt() { var hivatkozas = new TakaritandoPelda(); }