Clear        


                
                    namespace _05_IDisposableAndFinalizers
{
    /// <summary>
    /// Kategori verilerini tutan model sınıfı.
    /// </summary>
    class Kategori
    {
        public int Id { get; set; } // veritabanı tablosu için birincil anahtar (primary key) Id özelliği

        public string Adi { get; set; } // Adi özelliği

        public string Aciklamasi { get; set; } // Aciklamasi özelliği



        public Kategori() // default constructor
        {
            Console.WriteLine("Kategori constructor'ı çalıştırıldı."); // log amaçlı
        }



        ~Kategori() // finalizer: yeni bir obje oluşturulurken constructor'daki kodlar çalıştığı gibi obje hafızadan temizlenirken de finalizer'daki kodlar çalışır,
                    // çoğunlukla class'larda finalizer yazılmaz,
                    // finalizer'lar Garbage Collector tarafından objenin hafızadan temizleme işlemi yapılırken çalıştırıldığından aşağıdaki konsola yazdırma
                    // sonucunu uygulama çalışırken hiç bir zaman görmeyeceğiz
        {
            // obje temizleme kodları buraya yazılır

            Console.WriteLine("Kategori finalizer'ı çalıştırıldı."); // log amaçlı
        }
    }
}