对于我的生活,我无法弄清楚为什么这行代码:
var literalExpressionSyntax =
Syntax.LiteralExpression(SyntaxKind.CharacterLiteralExpression);
在 Roslyn CTP3 下抛出 ArgumentOutOfRangeException
。
最佳答案
第二个参数是可选的原因是文本隐含于一些 SyntaxKind
值。例如,如果您为第一个参数传递 SyntaxKind.TrueLiteral
,则可以省略第二个参数。但是,当基于第一个参数的第二个参数没有合理的默认值时,我们将抛出 ArgumentOutOfRangeException
。
在您的示例中,您可以创建表达式:
Syntax.LiteralExpression(SyntaxKind.CharacterLiteralExpression, Syntax.Literal('a'))
关于c# - LiteralExpression - ArgumentOutOfRangeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14669167/