c# - LiteralExpression - ArgumentOutOfRangeException

标签 c# literals roslyn

对于我的生活,我无法弄清楚为什么这行代码:

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/

相关文章:

c# regex 高cpu使用率

javascript - 计算网站中点击次数最多的视频

string - 如何将大的 lua 字符串分成小字符串

java - 为什么 0.5==0.5f 为真而 0.1==0.1f 为假?

c# - 返回否定 bool 时的 "Cast is redundant"警告

c# - 在 Roslyn 制作的编译中包含嵌入式资源

c# - 输出存储过程结果

C# 将字符串转换为 int(四舍五入)

c++ - 文字的使用,在 C++ 中是/否

c# - Roslyn AdhocWorkspace 要求引用 System.Runtime