
Ekim 14, 2009 13:00 by
molks
Bildiğimiz gibi c# da yerel ve global değişkenler vardır.Global değişkenler sınıf içerisinde bize heryerden ulaşma imkanı tanırken , bir yerel değişkene sadece tanımlandığı scop içerisinden ulaşılır.Bunun asıl nedeni tanımladığımız o değişkenin scop dan dışarıya çıkıldığında aslında ram üzerinde bulunmuyor olmasından kaynaklanmaktadır. C# da ise bu görevi garbage collector üstlenmektedir ve bizi bu külfetten kurtarmaktadır.Oluşturmuş olduğumuz bir sınıfın nesnesinin ramden kaldırılma anıda , o sınıfın Yıkıcı methodunun çalışma adına denk gelmektedir.

yukarıdaki şekildende gördüğümüz gibi Class1 nesnesine Formum load'unun tanımlandığı scop dışarısından ulaşamıyoruz.Çünkü Class1 nesnesi sadece kullanılacağı zaman yaratılıyor ve scop dan her çıkışta ram den kaldırılıyor.Öyleyse bu global değişkenler tanımlarken aslında dikkatli olmamız gerektiği anlamınada geliyor.Yani sadece ihtiyacımız olduğu zamanlarda public erişim belirleyicisini kullanalım ve global değişkenler yaratalım.İyi bir programcı her zaman minimum maliyetle , maximum verimi almaya çalışan programcıdır
Peki o zaman bir sınıfın yıkıcı methodu nasıl tanımlanır.Eğer bir c++ programcısı olsaydınız bu kavramı çok kez duymuş olurdunuz ama c# da Destructor ' in nasıl tanımlandıgını hiç görmemiş olmanız bile çok normal. Eğer görmediyseniz buyrun aşağıda bir tane tanımlı duruyor : )

Formumuz şu şekilde ;

Form1 içine yazdığımız kodlar ise ;

bakalım çöp toplayıcısına çöpleri topla dediğimizde neler olacak ? Burada collect methodunu çalıştırmasakta gene yıkıcı method çalışacaktı,biz bu şekilde derhal çalışmasını sağlıyoruz : ))

34149483-769b-462c-bd01-4fca12c4be13|4|4.3