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
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;
}
Neden yeni bir anahtar gerekiyor ve ne...
&Quot Geçersiz kılmak İçin Nasıl Andro...
'Gölge' vs 'Geçersiz kı...
Nasıl özellik işlevi geçersiz kılar ve...
Nasıl String sınıfı operatör geçersiz ...