最近想在项目中使用一个代码生成器,用T4模板实现了,还是蛮方便的。关于T4模板的介绍可以看下园中相关系列文章T4的介绍,创建运行时模板。里面介绍蛮详细的。

代码生成器界面如下,比较简单,我这里是通过传入实体类名称生成对应层的代码:

添加预处理的模板 IDal.tt(其他类似),代码如下:

View Code

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using Model;

namespace IDal

{

public interface IDal : IRepository<>

{

}

}

同时新建一个IDal的部分类:

View Code

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

namespace CodeBuilder.Template

{

public partial class IDal

{

public string ClassNames

{

get;

set;

}

public IDal(string _ClassNames)

{

this.ClassNames = _ClassNames;

}

}

}

default.aspx.cs主要代码:

View Code

#region 通过反射取得要生成的类

Assembly ass = Assembly.Load("Template"); //获取程序集                        Type myclass = null;

MethodInfo mymethod = null;

foreach (var name in list)

{

foreach (ListItem item in chkboxType.Items)

{

if (item.Selected)

{

Type[] mytypes = ass.GetTypes();

foreach (Type t in mytypes)

{

if (t.Name == item.Text)

{

myclass = t;

break;

}

}

Object obj = Activator.CreateInstance(myclass, name);

mymethod = myclass.GetMethod("TransformText"); //取TransformText()函数                                    String pageContent = mymethod.Invoke(obj, null).ToString();

//创建文件                                    File.AppendAllText(dirpath + @"\" + string.Format(item.Value, name) + ".cs", pageContent);

}

}

}

#endregion

#region

这里通过反射查找所有要生成的模板文件并创建文件,通过myclass.GetMethod("TransformText")调用TransformText方法,取得要生成的文件中内容。

我这里生成的代码主要是为了符合自己项目的需要,实际使用中可以根据需要扩展如通过数据库表生成model,存储过程等

t4b代码生成_用T4模板实现简单的代码生成器相关推荐

  1. .NET中关于T4模板的使用

    文章目录 介绍 简单说下什么是t4模版 具体使用方式 TransformText方法 自定义T4模板引擎 两种方式的比较 总结 介绍 最近工作中需要按一定的模板模型生成指定的文件,虽然可以直接拼接字符 ...

  2. t4b代码生成_Ef+T4模板实现代码快速生成器

    效果如图,demo(点击demo可下载案例) 项目结构如图 T4BLL添加BLL.tt文件: T4Model添加Model文件: T4DAL添加DAL.tt文件: T4DAL 添加ADO.NET En ...

  3. 创建代码生成器可以很简单:如何通过T4模板生成代码?[下篇]

    在<上篇>中我们通过T4模板为我们指定的数据表成功生成了我们需要的用于添加.修改和删除操作的存储过程.但是这是一种基于单个文件的解决方案,即我们必须为每一个生成的存储过程建立一个模板.如果 ...

  4. 创建代码生成器可以很简单:如何通过T4模板生成代码?[上篇]

    在<基于T4的代码生成方式>中,我对T4模板的组成结构.语法,以及T4引擎的工作原理进行了大体的介绍,并且编写了一个T4模板实现了如何将一个XML转变成C#代码.为了让由此需求的读者对T4 ...

  5. C#代码生成之T4模板组成

    我们在使用T4模板进行C#代码生成_C#_黄腾霄的博客-CSDN博客介绍了C#使用T4模板生成代码. 今天给大家详细介绍下T4模板的组成 T4模板的组成部分 T4模板的组成部分如图所示.主要由文本部分 ...

  6. HTML+CSS大作业: 抗击疫情网页制作作业_疫情防控网页设计模板HTML_ 简单学生网页设_静态HTML+CSS网站制作成品...

    HTML+CSS大作业: 抗击疫情网页制作作业_疫情防控网页设计模板HTML_ 简单学生网页设计_静态HTML+CSS网站制作成品 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大 ...

  7. T4模板使用(一):认识模板及简单使用

    T4模板使用(一):认识模板 前言 简介 流程 模板内容 内容 语法 打印内容 前言 t4模板是vs里用于生成代码的一个模板工具,可以对模板编写达到一键生成自己想要代码的目的. 首先,先看一下T4模板 ...

  8. [转]MVC实用架构设计(三)——EF-Code First(3):使用T4模板生成相似代码

    本文转自:http://www.cnblogs.com/guomingfeng/p/mvc-ef-t4.html 〇.目录 一.前言 二.工具准备 三.T4代码生成预热 (一) 单文件生成:Hello ...

  9. 一起谈.NET技术,编写T4模板无法避免的两个话题:quot;Assembly Lockingquot;amp;quot;Debugquot;...

    在这之前,我写了一系列关于代码生成和T4相关的文章,而我现在也试图将T4引入我们自己的开发框架.在实践中遇到了一些问题,也解决了不少问题.如果你也在进行T4相关的开发,相信你也一定会遇到这些问题.为此 ...

最新文章

  1. RHCE 学习笔记(20) ACL
  2. spring的BeanWrapper类的原理和使用方法
  3. 鑿婂瓙鏇版祴璇曡崏绋縶29C28FD771BA4B0D8693}
  4. CSS修改tr边框属性
  5. jquery datatable的详细用法
  6. PHP5.3版本安装
  7. 如何部署林根域、子域和域树
  8. 习题4-6 水仙花数(20 分)
  9. linux cmake 快速安装
  10. 考计算机初级难不难,初级程序员好考吗_考试难不难_上学吧
  11. 天正2014打开加载lisp_win10系统设置CAD2014打开自动加载天正的恢复方法
  12. 2018年总结和计划
  13. iphone模拟器的安装
  14. python输入按逗号分开_python print 按逗号或空格分隔的方法
  15. 垂直广告是什么意思_广告新趋势——内容为王 垂直细分
  16. 如何用wamp运行php代码,请问如何将已经写好的PHP代码部署到WAMP环境中
  17. HeadFirstC笔记_7 高级函数:发挥函数的极限
  18. Golang-Beego(go mod)
  19. Zeppelin集成Spark3
  20. 【过关斩将】面试官:小伙子你都有哪些业余爱好?

热门文章

  1. JavaScript Ajax
  2. 嵌入式数据库 HSQLDB
  3. 童家旺:如何用分表存储来提高性能
  4. C++语言之类class
  5. speedtest-cli命令行下测试服务器外网速度
  6. 百度产品经理vs 腾讯产品经理:技术大牛与小白
  7. 关于“Exchange Server 地址列表服务未能响应”的错误解决方法。
  8. 15 道超经典大厂 Java 面试题!重中之重
  9. 谁不在清了的飞鸽传书
  10. 还亲力亲为的蜡笔小新