SORU
4 Aralık 2008, PERŞEMBE


C# Otomatik Özellikler - Neden Yazma "Olmak Zorunda mıyım; ayarlamak;"?

Eğer her ikisi de zorunlu ve C olsun ayarlarsanız# neden rahatsız gerekiyor otomatik özellikleri belirleme "; ayarlamak için;" hiç?

CEVAP
4 Aralık 2008, PERŞEMBE


HATA: özellik veya dizin oluşturucu bir out veya ref parametresi olarak geçirilen olmayabilir

{get; set;} belirtin sormaman mi derleyici eğer bir alan veya bir mülk olmadığını bilemeyiz. Bu onlar "" aynı derleyici farklı bir şekilde davranır. bak önemli çünkü. örneğin Arama "İnitAnİnt" özelliği bir hata yükseltir.

class Test
{
    public int n;
    public int i { get; set; }
    public void InitAnInt(out int i)
    {
        i = 100;
    }
    public Test()
    {
        InitAnInt(out n); // This is OK
        InitAnInt(out i); // ERROR: A property or indexer may not be passed 
                          // as an out or ref parameter
    }
}

Yapmamalısın oluşturmak, kamu alanları/Değişkenler, sınıflar, sen ne zaman istiyorsun onu değiştirmek için get ve set erişimci ve sonra ne olduğunu bilmiyorsunuz kodu gidiyorsun kırmak, özellikle eğer müşteriler bu program karşı API.

Ayrıca farklı erişim değiştiricileri almak ve, örneğin {get; ayarlayabilirsinizözelset;} public get yapar ve özel ilan sınıfı için ayarlayın.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FF Radio

    FF Radio

    16 Mayıs 2008
  • Distractify

    Distractify

    1 Aralık 2011
  • WhtButterflyLiz

    WhtButterfly

    14 NİSAN 2008