Можете ли вы предложить мне способ, который бы помешал мне в таком случае, когда я работаю со ссылочными типами?
var someCost = new Cost( Price: new Price(1000, "USD")
, CostType: "Type-A") ;
var candyCost = new Cost();
// Initialize candyCost.Price
candyCost.Price = someCost.Price; //Now candyCost Price is referencing
// price of someCost;
// (.......)
// Some logic and code here
//and I forgot that I was referencing to someCost object's price object
//and I do stupid mistake:
candyCost.Price.Value = 5000; //Now I believe I have updated candyCost price
//but I have also updated someCost!!
Остальная часть истории посвящена отладке, чтобы узнать, почему обновляется цена SomeCost.
Я хотел упростить проблему с этим примером.Надеюсь, если вы меня поняли.
Вопрос : Можете ли вы порекомендовать мне способ обезопасить себя от повторения такой ошибки?любые шаблоны проектирования, когда речь идет об обновлении значений, относящихся к ссылочным типам.