C# Ограничивающее значение установщика
В настоящее время я пытаюсь реализовать свойства и, в частности, ограничить мой установщик. Например, у меня есть плавающее поле "Деньги", которое мне бы понравилось, чтобы вы могли добавлять / вычитать значения к нему, но когда оно равно 0, сделайте так, чтобы оно больше не могло быть вычтено, но, тем не менее, его можно добавить.
Я вижу, что в приведенном ниже коде, когда "Money" достигает 0, он всегда застревает на 0. Есть ли способ проверить, добавляется ли сеттер? Я понимаю, что вы можете проверить это в методах AddMoney или SubtractMoney, но было более любопытно, если это возможно сделать в установщике.
public float Money {
get {
return this._money;
}
set {
if (_money <= 0){
_money = 0;
} else {
_money = value;
}
}
}
void AddMoney(float addAmount){
Money += addAmount;
}
void SubtractMoney(float subtractAmount){
Money -= subtractAmount;
}
1 ответ
Решение
Попробуйте проверить, является ли значение отрицательным, не меняйте Money
значение:
set {
if (value >= 0)
{
_money = value;
}
else
{
//You may throw exception, or log a warning
}
}