gpt4 book ai didi

c# - 无法将参数添加到 Roslyn 中的 SyntaxFactory.ArgumentList()

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

出于某种原因,我无法向 ArgumentList 语法节点添加任何内容。我尝试了以下示例。在所有这些情况下,都会创建一个有效的 Argument 节点,但是在 Add() 操作之后,argList.Arguments 的计数仍然为零。

var argList = SyntaxFactory.ArgumentList();
var tempMemAccess = SyntaxFactory.MemberAccessExpression(
SyntaxKind.SimpleMemberAccessExpression,
SyntaxFactory.IdentifierName(ids.First()),
SyntaxFactory.IdentifierName(SomeName));

argList.Arguments.Add(SyntaxFactory.Argument(tempMemAccess));
// argList remains empty
argList.Arguments.Add(
SyntaxFactory.Argument(SyntaxFactory.IdentifierName(possibleColName)));
// argList remains empty
argList.Arguments.Add((ArgumentSyntax)base.VisitArgument(a));
// argList remains empty

最佳答案

ArgumentListSyntax 是不可变的。

相反,您应该使用它的成员函数来创建带有附加参数的更新实例:

argList = argList.AddArguments(SyntaxFactory.Argument(tempMemAccess));

关于c# - 无法将参数添加到 Roslyn 中的 SyntaxFactory.ArgumentList(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48192989/

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