.net关于T4代码生成摸版的使用(.tt文件)

1.目的:为了能 快速生成有规律的内容 文件

2.新建文本摸版文件.tt

3.写入如下代码,然后保存文件就会在正文下生成下面定义的文件

4. tt文件

/*T4代码生成模块的使用*/
<#@ output extension=".txt" #>  //生成的文件格式,文件名称同文本模板名称相同

public class Test
{
<# for(int i = 0; i < 5; i++) { #> 
  public int Prop<#= i #> { get; set; }
<# } #>
}
 

5.生成的文件

/*T4代码生成模块的使用*/
  //生成的文件格式,文件名称同文本模板名称相同

public class Test
{
 
  public int Prop0 { get; set; }
 
  public int Prop1 { get; set; }
 
  public int Prop2 { get; set; }
 
  public int Prop3 { get; set; }
 
  public int Prop4 { get; set; }
}
 

.net关于T4代码生成摸版的使用(.tt文件)_第1张图片

-------------------------

6.知识点

<#@   >//有点 像申请的头文件,就是我在tt摸版文件生引的文件。

<# #>//运行代码的逻辑地方

<#= #>//直接输出的值

--- .tt----

/*此代码是由T4摸版生成 <#=DateTime.Now.ToString("yyyy-MM-dd HH:mm ss")#>*/

---- 生成的文件---

7.

<#@ import namespace="System.IO" #>//表示引用系统的System.IO

<#@ output extension=".txt" #>// 文件输出的扩展名

<#@ template language="VB" #>// 表示tt摸版是识别的语言(默认C#)

8.官网链接

编写 T4 文本模板 | Microsoft Docs

9.使用T4生成多文件

Multiple outputs from T4 made easy – revisited » DamienG

.net关于T4代码生成摸版的使用(.tt文件)_第2张图片

10.生成多个文件

<#@ 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=".txt" #>

<#
/*生成访问数据库的仓储接口*/

//上下文名称
var ContextName="ConfigContext";
//实体类名称
List EntityDatas=new List(){"IdentifierConfig","IdentifierConfigBindGroup","IdentifierGroup","ProductBindIdentifieerGroup","ProductInfo"};
//生成文件的路径
var path=@"D:\netcore\onelink\OneLink.Config.Micro\Code\OneLink.Config.Micro\OneLink.Config.Service\IService\";

foreach(var entityName in EntityDatas){ 

//文件内容
String pageContent = "namespace OneLink.Com.Service.IService\n{\n    public interface I"+entityName+"Service\n    {\n    }\n}";

//创建
System.IO.File.WriteAllText(path+"I"+entityName+"Service.cs", pageContent);
}
#>
 

你可能感兴趣的:(C#基础,工具类,.net,javascript,开发语言)