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

  • NicoleGrippo

    NicoleGrippo

    14 Kasım 2006
  • SHAYTARDS

    SHAYTARDS

    1 EKİM 2008
  • VOICE TV

    VOICE TV

    2 Aralık 2010