从t4预处理文本模板生成多个输出
答
当您调用“TransformText()”方法时,预处理模板会将整个生成的代码作为字符串返回。它取决于保存结果的文件。
您可以将令牌渲染到生成的代码中,无论您想要何时启动新文件,拆分返回的字符串并将每个部分保存在单独的文件中。
例如 - 如果这是你的预处理的模板:
<#@ template #>
// This output text goes to the first file
NEW_FILE_TOKEN
// this output text goes to the next file
而且调用代码会是这样的:
var myTemplateInstance = new MyTemplate();
var result = myTemplateInstance.TransformText();
var fileContents = result.Split("NEW_FILE_TOKEN");
for(int i = 0; i < fileContents.Count; i++)
{
System.IO.File.WriteAllText("File" + i.ToString() + ".txt", fileContents[i]);
}
你最终有两个文件(File0.txt,和File1.txt),一个包含第一个注释行,另一个包含第二个注释行。