Я хочу наследовать класс и предотвратить неконтролируемую модификацию.
Считается ли объявление нового частного установщика для свойства приемлемым или его следует избегать?
public class Item
{
private float price;
public float Price
{
get => price;
protected set => price = value;
}
}
public class RegulatedItem : Item
{
public new float Price
{
get => base.Price;
private set => base.Price = value;
}
public void ApplyPromotion(float percent)
{
if (holiday)
// prevent abusive price manipulation
else
Price *= percent;
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... od-pratice