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

  • Best Quality Cartoons

    Best Quality

    10 ŞUBAT 2014
  • kourtneyannmakeup

    kourtneyannm

    19 ŞUBAT 2012
  • VOICE TV

    VOICE TV

    2 Aralık 2010