C# form uygulamasında kod ile nasıl obje yok edilir?

FireHawk

Hectopat
Katılım
3 Ekim 2020
Mesajlar
337
Çözümler
5
Daha fazla  
Cinsiyet
Erkek
Bir oyun yapıyorum. Bir tuşa basıldığı zaman obje yaratıp bir süre sonra o objenin silinmesini istiyorum.

Asıl sorun objeyi kodlar ile silmekte. Cevap verecek olanlara teşekkür ederim.
 
Unity için soruyorsan Destroy(obje) şeklinde kullanabilirsin. C# için zaten dilde garbage collector denilen bir kavram var, nesneler scope sonunda otomatik yok edilir, bunun dışında üretilen nesneler eğer IDisposable sınıfından miras alıyorsa nesne üzerinden Dispose() çağrılarak da yok edilebilir.

C#:
public static void Main(string[] args)
{
    bool running = true;
    {
        obj s1 = new obj();
        while(running);
    }
    // eğer running değişkeni başka bir fonksiyon tarafından false yapılırsa nesne yok edilir,
    // çünkü kapsam (scope )dışına çıkar.   
    
}
 
Oyun motoru kullanıyorsanız sahip olduğu objeler zaten Disposable yapıdadır. API Dökümanından nasıl yok edileceği açık şekilde yazılmıştır.

Eğer kendiniz bir şeyler yapmaya çalıyorsanız IDisposable interface'ini implement edip Dispose() içerisinde obje içerisindeki silme işlemlerini gerçekleştirin. İşiniz bitti zaman ise Dispose() deyip işi Garbage Collector'a bırakın.

 
form dediğiniz için: objeısmi. Visible = false; Visible'yi kapatırsanız obje gözükmeyecektir.

Anlaşılan visible kullanacağım. Altı üstü bir obje yok edeceğim. Dünya kadar satır yazmak zorundayım.
Unity için soruyorsan destroy(obje) şeklinde kullanabilirsin. C# için zaten dilde garbage collector denilen bir kavram var, nesneler scope sonunda otomatik yok edilir, bunun dışında üretilen nesneler eğer ıdisposable sınıfından miras alıyorsa nesne üzerinden Dispose() çağrılarak da yok edilebilir.

C#:
public static void Main(string[] args)
{
 bool running = true;
 {
 obj s1 = new obj();
 while(running);
 }
 // eğer running değişkeni başka bir fonksiyon tarafından false yapılırsa nesne yok edilir,
 // çünkü kapsam (scope )dışına çıkar.

}

Bunu bir deniyeyim sağ ol.
 

Geri
Yukarı