我想知道如何创建可以在类文件中查找和替换字符串的T4模板。
例如:
我有一个名为" Test.cs"的类文件。这是由其他一些过程自动生成的
我想针对" Test.cs"运行T4模板。将重命名所有" OldText"的文件它找到的文字" NewText"
在运行T4模板之前测试。
public class OldText
{
public OldText() {}
}
Test.cs在T4模板运行之后。
public class NewText
{
public NewText() {}
}
答案 0 :(得分:2)
正如Jeroen所指出的,这不是t4模板的用途。但是,您可以考虑编写一个t4模板,它将为您生成Test.cs,其中实际的类名将存储在变量中。你的Test.tt看起来像这样:
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ output extension=".cs" #>
<#
var className = "OldText";
#>
using System;
public class <#= className #>
{
public <#= className #>() {}
}
然后,要生成类名为NewText的Test.cs,您只需在一个地方更改className
变量的值。