栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

.NET T4 生成文件(一)简单介绍T4

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

.NET T4 生成文件(一)简单介绍T4

.NET T4 生成文件(一)简单介绍T4
  • 模块介绍
    • 一、指令块(Directive Block)
    • 二、文本块(Text Block)
    • 三、代码语句块(Statement Block)
    • 四、表达式块(Expression Block)在这里插入图片描述
    • 五、类特性块(Class Feature Block)

模块介绍

T4模板的基本结构可以分成5类:
指令块:(Directive Block)
文本块:(Text Block)
代码语句块:(Statement Block)
表达式块:(Expression Block)
和类特性块:(Class Feature Block)

一、指令块(Directive Block)

指令块通过<#@…#>表示。
必要的指令为:<#@ template … #> 用于定义模板的基本属性。
常用的指令有:<#@ assembly … #>用于引用程序集、<#@ import … #>用于引入命名空间等

1.<#@template #>:
<#@ template language=“C#” #>表示该编程语言为C#。
模板属性定义" />
2.<#@ assembly #>:
如<#@ assembly name=“System.Core” #> 表示引用Core的程序集。
程序集引入" />
3.<#@ import #>:
如<#@ import namespace=“System.Linq” #> 表示引用了Linq这个命名空间。
引入命名空间" />
4.<#@output extension=""#>
如<#@output extension=".cs"#>,那么你输出的就是.cs文件;
如<#@output extension=".txt"#>,那么你输出的就是.txt文件。
Extension是扩展名的意思。

二、文本块(Text Block)

文本块就是直接原样输出的静态文本,不需要添加任何的标签。从指令块结束到第一个“<#”标签之间的内容就是一段静态的文本块,定义在<#…#>、<#+…#>、<#=…#>之间的都不属于文本块。

三、代码语句块(Statement Block)

代码语句块通过<#…#>的形式来表示,中间是一段使用相应的编程语言编写的程序代码,我们可以通过代码语句块控制文本的转化流程。由于我们使用的是.NET,所以在这里代码语句块的作用主要就是写C#代码,示例如下:

执行后生成如下图:

平时能在VS里写的代码,都可以在<# #>里表示。

四、表达式块(Expression Block)在这里插入图片描述


通过读取数据库的语句,最后生成出如下的内容:

五、类特性块(Class Feature Block)

类特性块通过<#+…#>的形式来表示,它可以用来定义供调用的方法。
如果文本转化需要一些比较复杂的逻辑,我们需要将其封装成一个单独的方法,甚至是封装成一个单独的类,那就要用到类特性块了,示例如下:

执行后生成如下图:

感谢您的观看!下一章会更新如何通过连接数据库,通过表名生成实体文件!
下集更精彩!期待关注!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/911446.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号