如何从 CodeStatementCollection 生成代码
本文关键字:代码 CodeStatementCollection | 更新日期: 2023-09-27 18:37:09
我重用的一个类正在填充序列化中使用的CodeStatementCollection。
我想把这个CodeStatementCollection变成人类可读的代码。
这可能吗?
可以使用 CSharpCodeProvider
中的GenerateCodeFromStatement()
将单个CodeStatement
转换为 C# 代码。要从CodeStatementCollection
生成 C# 代码,您只需在循环中调用它:
static string GenerateCode(CodeStatementCollection statements)
{
var writer = new StringWriter();
var compiler = new CSharpCodeProvider();
foreach (CodeStatement statement in statements)
{
compiler.GenerateCodeFromStatement(statement, writer, null);
}
return writer.ToString();
}