gpt4 book ai didi

c# - 如何使用 roslyn 创建数字文字标记?

转载 作者:太空宇宙 更新时间:2023-11-03 23:18:42 24 4
gpt4 key购买 nike

我想像下面这样更改 InitializerExpressionSyntax 节点,但发生错误:使用 Roslyn.Compilers.CSharp.Syntax.Literal 创建数字文字标记。参数名称:种类

public override syntaxnode VisitInitializerExpression (InitializerExpressionSyntax node )
{
SeparatedSyntaxList<ExpressionSyntax> list =new SeparatedSyntaxList<ExpressionSyntax> ();
foreach (var item in RandomByteArray)
{
SyntaxToken t=SyntaxFactory.Token (default (SyntaxTriviaList),SyntaxKind.NumericLiteralToken, item.ToString (),item. ToString (),(default (SyntaxTriviaList));//error is here
list.Add (SyntaxFactory.LiteralExpression (SyntaxKind.NumericLiteralExpression,t));
}
node=node. WithExpressions(list);
return node;
}

最佳答案

尝试在 SyntaxFactory.Token 中创建 token 时; SyntaxFactory.Token 函数不支持 NumbericLiteralToken 的 SyntaxKind。

相反,您需要按照 API 的要求使用 SyntaxFactory.Literal。

SyntaxFactory.Literal(default(SyntaxTriviaList), item.ToString(), item.ToString(), item.ToString(), default(SyntaxTriviaList));

来源;罗莎琳引用资料来源

(SyntaxFactory.Token: http://sourceroslyn.io/#Microsoft.CodeAnalysis.CSharp/Syntax/SyntaxFactory.cs,241 )

(SyntaxFactory.Literal: http://sourceroslyn.io/#Microsoft.CodeAnalysis.CSharp/Syntax/SyntaxFactory.cs,585 )

关于c# - 如何使用 roslyn 创建数字文字标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36232935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com