从t4预处理文本模板生成多个输出

问题描述:

我想知道是否有方法从我的预处理模板生成多个文件?从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),一个包含第一个注释行,另一个包含第二个注释行。