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