我有一个包含许多相关属性的类,我需要运行一些简单的计算。一般结构是:
public class SpecialItem
{
public decimal Value { get; set; }
}
public class Processor
{
public decimal CalcA { get; set; }
public decimal CalcB { get; set; }
public decimal CalcC { get; set; }
public SpecialItem ItemA { get; set; }
public SpecialItem ItemB { get; set; }
public SpecialItem ItemC { get; set; }
public decimal PrevCalcA { get; set; }
public decimal PrevCalcB { get; set; }
public decimal PrevCalcC { get; set; }
public decimal DifferenceA { get; set; }
public decimal DifferenceB { get; set; }
public decimal DifferenceC { get; set; }
private void Subtract()
{//TODO}
}
我需要计算DifferenceA = PrevCalcA - ItemA.Value - CalcA,然后是DifferenceB = PrevCalcB - ItemB.Value - CalcB,依此类推。最好的方法是什么,理想情况下有一个简单的减法方法(例如:私有虚拟减法(小数a,小数b,小数c),可以在你给它一个" list&#34时顺序计算差异属性。 ;包含3个其他属性的组?
我拥有所有这些属性的原因是它们各自独立地绑定到ViewModel。
谢谢!
答案 0 :(得分:0)
在我看来,最简单的方法是重新定义DifferenceX
这样的属性:
public decimal DifferenceA
{
get
{
return this.PrevCalcA - this.ItemA.Value - this.CalcA;
}
}
public decimal DifferenceB
{
get
{
return this.PrevCalcB - this.ItemB.Value - this.CalcB;
}
}
public decimal DifferenceC
{
get
{
return this.PrevCalcC - this.ItemC.Value - this.CalcC;
}
}
或者我在你的问题中遗漏了什么?