直奔代碼:使用通用類型的分析方法?
class ArithmeticExpressionParser<T> : Parser
{
T num1, num2;
/* ......... */
void ParseNumber()
{
string temp = String.Empty;
while (char.IsDigit(PeekNextToken()))
{
GetNextToken();
temp += Token;
}
num1 = T.Parse(temp); // <<< the problem
}
基本上,如果我使用int
或double
我本來只是用int.Parse
等。我已經試過鑄造num1 = (T)temp;
,沒有工作。我怎樣才能做到這一點,而不必寫定製string
至T
函數?
這種感覺就像你想的'IParsable'但'IConvertible'更具包容性(和存在) – Jodrell 2012-01-04 08:18:43