1
我尝试使用方法ReplaceNode
,更换过程成功,但无法保存更改。
对于我的代码无法更新树的更改,Roslyn
SyntaxTree tree = SyntaxTree.ParseFile(Path)
CompilationUnitSyntax root = tree.GetRoot();
MemberDeclarationSyntax firstMember = root.Members[0];
NamespaceDeclarationSyntax NamespaceDeclaration = (NamespaceDeclarationSyntax)firstMember;
NamespaceDeclaration = NamespaceDeclaration.ReplaceNode((ClassDeclarationSyntax)NamespaceDeclaration.Members[i], lNewClassDeclarationSyntax);
如何我一定要保存更改例如一部分?
这正是我的意思。此外,你需要这样做的原因是因为Roslyn SyntaxTrees是不可变的。我只是删除我的答案,因为你已经解决了它。 – rla4