使用對象的字符串變量我試圖找出爲什麼我得到這個錯誤:在switch語句
switch (token.type.GetName())
{
case PascalTokenType.BEGIN.name: // ERROR: A CONSTANT VALUE IS EXPECTED
{
CompoundStatementParser compoundParser = new CompoundStatementParser(this);
statementNode = compoundParser.parse(token);
break;
}
}
GetName()
和name
返回字符串。這是對象的樣子:
public static readonly PascalTokenType BEGIN = new PascalTokenType("BEGIN");
我知道我可以通過它更改爲if
語句解決這個問題,但是當這是完整的,我將有至少20條件,所以我寧願不。我想這是因爲BEGIN.name
直到運行時才分配?
如果您知道條件提前(我的部分是大假設),爲什麼不創建一個枚舉並根據它進行比較? – Killnine
因此,將枚舉傳遞給'PascalTokenType'構造函數而不是字符串? –