SORU
8 Ocak 2010, Cuma


Geçersiz Kılar, Ama Set Değil

get, ama bildiğim kadarıyla bu yüzden set değil, soyut bir sınıf söz konusu olduğunda, get tek bir ihtiyacı tanımlayan soyut bir sınıf var.

public abstract BaseClass
{
  public abstract double MyPop
  {get;}
}

Ancak, elde sınıfı, set bir özellik istiyorum, bu uygulama bakıyorum

public class DClass: BaseClass
{
  public override double MyPop
  {get;set;}
}

Sorun, bir derleme hatası, söyleyerek var

*.set: geçersiz kılamaz çünkü *. bir geçersiz kılınabilir yok erişimci ayarlayın.

Yukarıdaki sözdizimi tamamen yasal olduğunu düşünsem de.

Bu konuda herhangi bir fikir? Bu yüzden geçici çözüm, ya?

Edit: tek yaklaşım belki koymak hem get set gibi soyut sınıf ve alt sınıf atar NotImplementedException set denir ve buna pek gerek yok. Bu, special setter method ile birlikte hoşuma gitmeyen bir şey var .

CEVAP
8 Ocak 2010, Cuma


Olası bir yanıt alıcı geçersiz kılmak için, ve sonra ayrı bir ayarlayıcı yöntemi uygulamak olacaktır. Eğer özellik ayarlayıcısı Bankası tanımlanmış olabilir, eğer doğru değilse, diğer pek çok seçeneğin yok.

public override double MyPop
{
    get { return _myPop; }
}

public void SetMyPop(double value)
{
    _myPop = value;
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Arun Kumar

    Arun Kumar

    18 Mart 2010
  • Modus Recordings

    Modus Record

    26 Kasım 2008
  • Sparta Spartanutul

    Sparta Spart

    18 HAZİRAN 2013