A preprocessed T4 template is an easy, out-of-the-box technology you can use for generating text from a template at runtime. Preprocessed templates are a little different than the T4 templates you might have used in the past. For details, read Oleg Sych's post on the topic.
As an example, let's say you add a preprocessed template named "LetterTemplate.tt" to a project, with the following content:
<#@ template language="C#" #> Hi <#= Model.FirstName #>, Thank you for the email. Although our schedules are very busy, we decided to take some time and write you a personal reply. We appreciate the thoughtful feedback on show <#= Model.ShowNumber #>, and we want to promise you, <#= Model.FirstName #>, that we will try harder. Sincerely,
For this example, only three pieces of code are required. First there is the partial class to extend the definition of a class generated from the template:
public partial class LetterTemplate { public LetterModel Model { get; set; } }
Secondly is the definition of LetterModel:
public class LetterModel { public string FirstName { get; set; } public string ShowNumber { get; set; } }
And finally, only a few lines of code are required to execute the template and produce a result.
var template = new LetterTemplate(); template.Model = new LetterModel() { FirstName = "...", ShowNumber = "..." }; var message = template.TransformText();
TranformText is all you need , yet the generation scenarios can be much more complex.