1. sayfa
A bir metot sanırım. Dolayısıyla tanımlarken ve kullanırken parametre parantezlerinin olması lazım. Parametresi olmadığı için parantezlerin içi boş olur. İkiyerde tanım bir yerde kullanım var. public int A() { } int deneme = y.A(); |
onlar bir property metot ve ya fonksiyon değil üstat, c#' a ait güzel bir özellik bu :) |
Güzel özellikmiş. Öğrenmiş olduk. Belki get içine sadece return yazılabiliyordur. Oradaki Console.WriteLine komutlarını silip deneyebilirsiniz. |
dediğinide denedim hala uyarı vermiyor sıkıntı şu: kodun çalışması, kitapta ise bu kod için uyarı verir demesi, acaba ben visual studionun 2017'sini kullandığım için mi öyle oluyor (yeni bir özellik gelmiş olabilir) ? çünkü kitap bir eski versiyonundan anlatıyor yani c#6.0 ile anlatıyor ondan mı acaba diye düşünüyorum. |
Uyarı ya da hata mesajını yazar mısınız? |
warning CS0108 : The keyword new is required on 'Y.A' because it hides inherited member 'X.A' |
e veriyor ya uyarıyı yukarıda uyarının ingilizcesini yazmışsınız onun türkçesi bahsettiğiniz uyarıdır ortada bir sorun yok ki < Resime gitmek için tıklayın > |
Türetilen Y sınıfındaki aynı A ismindeki özelliğin önüne new ifadesi yazarak dener misiniz? new public int A { } Kaynak: https://stackoverflow.com/questions/5933045/what-if-i-dont-heed-the-warning-hides-inherited-member-to-make-the-current-me |
bende uyarı vermiyor :( direk çıktı olarak: Y sınıfı press any key... çıktısını veriyor. |
new koyunca bir şey değişmedi hala aynı çıktıyı alıyorum, zaten kitapta new koyulmmaış halini veriyor ve bunda uyarı alırsın diyor ama daha sonra önüne new koyarsan hata almassın diyor, ama bende new koyuncada koymayınca da uyarı falan vermeden direk çıktı gösteriyor çıktı şu : Y sınıfı Press any ... |
tamam zaten öyle olacak sen herhalde console da o uyarı çıkacak sanıyorsun öyle birşey yok o gösterdiğim ekranda çıkacak bilgi amaçlı uyarı o zaten |
hocam property'ler temelde fonksiyondur. public int BirSayi { get; set; } seklinde olanlara "auto-property" denir ozel adi yani. bu aslinda tamamen suna esittir: private int birSayi; (bu sekilde cok kullanildigi icin ustteki hali var. adindan anlasiliyor zaten "auto") ki bu normal bir "property"dir ve get set ici istedigin gibi degistirilebilir. ve bu propertyler de yine kisa yazilistir. karsiligi 2 metoddur ve bunlar arka planda su koda cevrilir: private int birSayi; // bu normal bir field ozel bir yani yok. property ile birlikte kullanimda "backing field" olarak gecer bunlar. yani destekci alan. bu kod otomatik olarak uretilir dedigim gibi. auto-property'ler icin ise backing field da otomatik uretilir. ve isimler tam olarak boyle degil, C# icinde illegal isim kullaniliyor IL (intermediate language. biraz ileri seviye bir konu arastirabilirsin) tarafindan. |
Çok teşekkür ederim. |
1. sayfa
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi deniz caliskan -- 4 Temmuz 2017; 17:6:3 >