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

  • HowtoDrawAndPaint

    HowtoDrawAnd

    24 EKİM 2010
  • Huot Media

    Huot Media

    7 Mayıs 2010
  • thelonelyisland

    thelonelyisl

    23 Aralık 2005