如何使用T4模板创建自定义分部类?

时间:2015-09-08 09:13:43

标签: c# t4

我想要一个以某种方式接受class_name属性并创建一个类的模板,其名称是class_name的值

理想情况下,我应该能够在包含MyClass.cs定义的public partial class MyClass内执行我的模板,并将class_name设置为MyClass

此模板

<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ output extension=".cs" #>

public partial class <#=class_name #>
{

}

产生错误:

Error   1   Compiling transformation: The name 'class_name' does not exist in the current context

如何将class_name的定义放入其中?

1 个答案:

答案 0 :(得分:0)

您可以像这样定义class_name:

<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ output extension=".cs" #>
<# var class_name = "MyClass"; #>

public partial class <#=class_name #>
{

}