LiteralExpression - ArgumentOutOfRangeException
本文关键字:ArgumentOutOfRangeException LiteralExpression | 更新日期: 2023-09-27 17:57:05
对于我的生活,我无法弄清楚为什么这行代码:
var literalExpressionSyntax =
Syntax.LiteralExpression(SyntaxKind.CharacterLiteralExpression);
在罗斯林 CTP3 下投掷ArgumentOutOfRangeException
。
第二个参数是可选的原因是文本对于某些SyntaxKind
值是隐含的。 例如,如果为第一个参数传递SyntaxKind.TrueLiteral
,则可以省略第二个参数。 但是,当基于第一个参数的第二个参数没有合理的默认值时,我们抛出ArgumentOutOfRangeException
。
在您的示例中,您可以使用以下内容创建表达式:
Syntax.LiteralExpression(SyntaxKind.CharacterLiteralExpression, Syntax.Literal('a'))
你不应该提供第二个参数,这是实际的文字。