简单的语法替换
该示例将using System.Collections.Generic替换为using System
static void Main(string[] args)
{
const string programText =
@"
using System.Collections.Generic;
using System.Text;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(""Hello, World!"");
}
}
}";
SyntaxTree tree = CSharpSyntaxTree.ParseText(programText);
// 获取根语法节点
CompilationUnitSyntax root = tree.GetCompilationUnitRoot();
var oldUsing = root.Usings[0];
// 使用新的 Name,该方法会返回一个新的 语法节点
var newUsing = oldUsing.WithName(SyntaxFactory.IdentifierName("System"));
// 用新的语法节点替换旧的,返回新的根
root = root.ReplaceNode(oldUsing, newUsing);
Console.WriteLine(root.ToString());
Console.ReadKey();
}
本文展示了一个使用C#进行语法替换的示例,具体演示了如何将usingSystem.Collections.Generic替换为usingSystem,并通过CSharpSyntaxTree和相关语法节点操作完成代码修改。

被折叠的 条评论
为什么被折叠?



