我實現下一個功能:MiscUtils運營商 - 乘以標
private bool CheckRelativeIncrease(T pVal1, T pVal2, out T pFluctuation, int x)
,我比較,如果pVal2增加了一個「X%」過pVal1更多。我正在使用泛型來使該函數與int一起工作,簡而言之...我正在使用MiscUtils.Operator,但問題是我無法混合已知類型和未知類型。下面的代碼不起作用:
bool increased = false;
int comparer = Comparer.Default.Compare(pVal1, pVal2);
pFluctuation = Operator<T>.Zero;
if (comparer > 0) {
int factor = (int)(1 + (x/100));
pFluctuation = Operator.Multiply(factor, pVal2);
comparer = Comparer.Default.Compare(pVal1, pFluctuation);
if (comparer >= 0)
increased = true;
}
return increased;
「Operator.Multiply」給我一個錯誤,因爲「因素」已經不是同一類型爲「pVal2」。
任何想法?
由於提前, 西爾維婭
嗨,thaks爲快速的答案。 – Silvia 2010-11-19 15:19:08
Thaks爲快速回答。我會嘗試修改代碼,好吧。在這種情況下,預期的結果是T.我在哪裏可以下載源代碼?我只找到一個老版本的MiscUtils,它沒有運營商... – Silvia 2010-11-19 15:21:00
@Silvia:最新版本總是在http://pobox.com/~skeet/csharp/miscutil – 2010-11-19 15:45:48