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

本文关键字:创建 自定义部 分类 何使用 T4 | 更新日期: 2023-09-27 18:11:44

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

理想情况下,我应该能够在包含public partial class MyClass定义的MyClass.cs中执行我的模板,并且将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的定义放入其中?

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

你可以这样定义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 #>
{
}