En iyi yanıtlayıcılar
Yeni nesne mi üretiliyor yoksa aynı nesneye devam mı?

Soru
-
Arkadaşlar anlamadığım soru codlarla birliktedir.Şimdiden teşekkürler.
private void Uret() { PictureBox pic = new PictureBox(); // yeni nesne çıkarttık. AraKanal(pic); // AraKanal metoduna referansı verdik. } private void AraKanal(PictureBox p) { NesneAl(p); /* Sorum burda.Şimdi p parametresi NesneAl metoduna doğrudan Uret metodundaki üretilen pic'i mi veriyor yani pic'in referansını? Yoksa kendi içinde yeni nesne üretip yeni üretilen nesnenin referansı p ile eşitleyip. Uretilen nesneyi mi veriyor?Yani PictureBox pb = new PictureBox(); pb =p; NesneAl(pb); ? */ } private void NesneAl(PictureBox p) { }
- Düzenleyen ogrenci06 28 Ağustos 2016 Pazar 17:41
Yanıtlar
-
Referans tiplerinde referansını, değer tiplerinde kopyasını (çok istersen ref ile referansını vermesini isteyebilirsin) verir. Kaynaklarda bu ikisinin farkını araştır.
- Düzenleyen Cihan YakarMVP 28 Ağustos 2016 Pazar 18:05
- Yanıt Olarak Öneren Halit YURTTAŞ 28 Ağustos 2016 Pazar 19:06
- Yanıt Olarak İşaretleyen ogrenci06 29 Ağustos 2016 Pazartesi 14:23
-
Kod bu kadarsa; Uret methodunu hiç çağırmadığın için ortada hiçbir instance yok. Uret methodunu kullanmış olaydın diğer methodlarda Uret içinde oluşan instance'ı kullanıyor olacaktın. Yani evet referansı taşınıyor.
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Yanıt Olarak İşaretleyen ogrenci06 29 Ağustos 2016 Pazartesi 14:24
Tüm Yanıtlar
-
Referans tiplerinde referansını, değer tiplerinde kopyasını (çok istersen ref ile referansını vermesini isteyebilirsin) verir. Kaynaklarda bu ikisinin farkını araştır.
- Düzenleyen Cihan YakarMVP 28 Ağustos 2016 Pazar 18:05
- Yanıt Olarak Öneren Halit YURTTAŞ 28 Ağustos 2016 Pazar 19:06
- Yanıt Olarak İşaretleyen ogrenci06 29 Ağustos 2016 Pazartesi 14:23
-
-
Kod bu kadarsa; Uret methodunu hiç çağırmadığın için ortada hiçbir instance yok. Uret methodunu kullanmış olaydın diğer methodlarda Uret içinde oluşan instance'ı kullanıyor olacaktın. Yani evet referansı taşınıyor.
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Yanıt Olarak İşaretleyen ogrenci06 29 Ağustos 2016 Pazartesi 14:24
-
Kod bu kadarsa; Uret methodunu hiç çağırmadığın için ortada hiçbir instance yok. Uret methodunu kullanmış olaydın diğer methodlarda Uret içinde oluşan instance'ı kullanıyor olacaktın. Yani evet referansı taşınıyor.
Hocam kodların aynı mantığına sahip başka projede referansı metota verilen nesneyi metodda dispose ve null ediyorum.Hala aynı referansı verilen başka bir metotda bu nesneyi kullanıyor?? NullReferenceException hatası vermesi lazım.O yüzden en baştaki soruyu sordum.Acaba bir kopyasını mı oluştuyor yoksa kendisinimi veriyor diye.
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Düzenleyen ogrenci06 28 Ağustos 2016 Pazar 19:50
-
Referans tiplerinde referansını, değer tiplerinde kopyasını (çok istersen ref ile referansını vermesini isteyebilirsin) verir. Kaynaklarda bu ikisinin farkını araştır.
Cihan hocam,sınıf örneği zaten referans ile taşınmıyor mu? ref 'e gerek var mı?