2013-02-27 2 views

ответ

2

Предварительно обработанные шаблоны возвращают весь сгенерированный код в виде строки, когда вы вызываете метод 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), один из которых содержит первую строку комментария, а вторую - вторую.

Смежные вопросы