也許屬性不是這樣的方式,但我正在努力尋找一個好的解決方案的答案。如何最好地處理相互依賴的屬性?
public class Blah
{
public double A { get{ return _B/_C; } }
public double B
{
get{ return _A * _C; }
set{ _B = value; }
}
public double C
{
get{ return _B/_A; }
set{ _C = value; }
}
private double _A;
private double _B;
private double _C;
public Blah(){}
public Blah(double a, double b, double c)
{
this._A = a;
this._B = b;
this._C = c;
}
}
假設始終是一個只讀屬性,怎麼去處理有關可能影響輸出的額外性的任意量的好方法?我覺得這是一個糟糕的(完全錯誤的!)方式來做到這一點,因爲我應該總是能夠檢索我分配的值。例如,如果我分配B = 3,那麼在下一次我調用B而不是獲得_A * _C時,我應該能夠得到3。
但是,我需要這種相互依存的存在(或完全不同的方法來達到相同的目標)。所有的值都是相關的,所以我需要改變一個值來反映其他值。
我只是想不出適當的方式來做到這一點。
編輯
我做了一個壞榜樣。實際上,非A值不依賴於A,而只是彼此相關 - B影響C,C影響D等等;然而,A只是這些值的一些組合。不知道這是否是最好的方法,但認爲這是值得一提的。
也許我錯過了它,但誰指派_A? – MerickOWA
你說得對。我已經添加了它,但這不代表我嘗試應用此問題的問題。隨着我的工作,A純粹是一個輸出,並不會被分配。 – KarlHungus