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

  • Caina Mondo Zine

    Caina Mondo

    13 EKİM 2007
  • Munchkin the Teddy Bear

    Munchkin the

    30 EYLÜL 2011
  • Whizzpopping

    Whizzpopping

    10 Kasım 2005