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

  • Commander Chalkboard

    Commander Ch

    20 Ocak 2014
  • edwin maldonado

    edwin maldon

    28 Mart 2009
  • TimMinchinLive

    TimMinchinLi

    23 ŞUBAT 2009