SORU
12 Aralık 2011, PAZARTESİ


&Quot yazmak için herhangi bir sebep;özel" C kelime#?

Bildiğim kadarıyla, private varsayılanher yerdeC# (eğerpublic, protected, internal, vb. yazmak istemezsen yani varsayılan olarak private) olacak. (Eğer yanılıyorsam beni düzeltin lütfen.)

Bu anahtar kelime yazmak için nedeni ne peki ya neden üyeleri için böyle bir şey var mı?

Bir olay işleyicisi otomatik oluşturulan örneğin, bu gibi görünüyor:

private void RatTrap_MouseEnter(object sender, CheeseEventArgs e)
{

}

Ama neden bile ima etti. Eğer özel ve varsayılan yazmak mı? Çok acemi geliştiriciler C olduğunu bilmeyen (#varsayılan) özel olduğunu biliyor musun? Yoksa derleyici için bir fark var mı?

Ayrıca, yazı nerede bir durumda "özel" (yalnız)bu üyenin erişilebilirlik değiştirmek?

CEVAP
12 Aralık 2011, PAZARTESİ


AFAIK, özel varsayılan C her yerde

- Varsayılan "en kısıtlı erişim Bu beyanname için kullanılabilir". Çok üst düzey bir türü ile örneğin, varsayılan 8**; varsayılan private iç içe geçmiş bir tip.

Bu anahtar kelime yazmak için nedeni ne peki ya neden böyle bir şey var mı?

İki nedenden dolayı iyi olduğu kesin yapar:

  • Varsayılanları bilmeyenler için daha net bir soru (bu tartışmayı sevdim şahsen, ama kayda değer olduğunu düşündüm) başına yapar
  • Bir izlenim veriyorkastengizli yapmak için karar verdi, yerine kullanılır ile gitti.

Senin için son kısmı:

Ayrıca orada bir dava nerede yazılı "" (yalnız) üyesi erişilebilirlik değişecek mi? özel.

Evet, bir malın yarısı diğerine göre daha kısıtlayıcı yapmak için:

// Public getter, public setter
public int Foo { get; set; }

// Public getter, private setter
public int Bar { get; private set; }

Benkullanılırbu konuyu düşündün olduğu her yerde olabilirim, ama ikna olmadım varsayılan (kısmen Eric Lippert tarafından) ile gitmekkarar verdiözel bir şey yapmak için iyi bir fikirdir.

Şahsen mühürlü / mühürsüz bunu yapmanın bir yolu olsaydı da, tür bildirimleri bile muhtemelen diliyorumvarvarsayılan. Pek çok geliştirici (eğer dikkatli olursam değil ben de dahil) onlara mühürlü yaparak daha az çaba çünkü sınıflar sadece mühürsüz terk şüpheleniyorum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Flash CS6 Video Tutorials for Beginners (Actionscript 3 Gaming)

    Flash CS6 Vi

    14 EYLÜL 2012
  • K-391

    K-391

    23 EKİM 2012
  • thetrollska

    thetrollska

    2 EKİM 2009