我正在试图找出我收到此错误的原因:
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
直到运行时才被分配?
答案 0 :(得分:3)