可以在构造函数中分配只读属性。但是当我尝试显式实现 get 方法时,编译器显示错误(属性无法分配给 - 它是只读的。)我可以实现 getter 还是应该不实现?
public class PersonalIncome
{
private decimal _anualRate;
public decimal AnualRate
{
get { return _anualRate != 0 ? _anualRate : 40_000; }
}
public PersonalIncome(decimal paymentRate)
{
switch (paymentRate)
{
case var rate when (rate > 300):
AnualRate = rate; // **Property can not be assigned to -- it is read only.**
break;
default:
break;
}
}
}
最佳答案
您可以实现 getter,但随后您只能直接将值分配给支持字段:
_anualRate = rate;
一旦您决定不使用自动属性的便利,您就必须自己完成所有事情。
关于C# 错误消息 "Property can not be assigned to -- it is read only.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53109116/