t4b代码生成_用T4模板实现简单的代码生成器
最近想在项目中使用一个代码生成器,用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模板实现简单的代码生成器相关推荐
- .NET中关于T4模板的使用
文章目录 介绍 简单说下什么是t4模版 具体使用方式 TransformText方法 自定义T4模板引擎 两种方式的比较 总结 介绍 最近工作中需要按一定的模板模型生成指定的文件,虽然可以直接拼接字符 ...
- t4b代码生成_Ef+T4模板实现代码快速生成器
效果如图,demo(点击demo可下载案例) 项目结构如图 T4BLL添加BLL.tt文件: T4Model添加Model文件: T4DAL添加DAL.tt文件: T4DAL 添加ADO.NET En ...
- 创建代码生成器可以很简单:如何通过T4模板生成代码?[下篇]
在<上篇>中我们通过T4模板为我们指定的数据表成功生成了我们需要的用于添加.修改和删除操作的存储过程.但是这是一种基于单个文件的解决方案,即我们必须为每一个生成的存储过程建立一个模板.如果 ...
- 创建代码生成器可以很简单:如何通过T4模板生成代码?[上篇]
在<基于T4的代码生成方式>中,我对T4模板的组成结构.语法,以及T4引擎的工作原理进行了大体的介绍,并且编写了一个T4模板实现了如何将一个XML转变成C#代码.为了让由此需求的读者对T4 ...
- C#代码生成之T4模板组成
我们在使用T4模板进行C#代码生成_C#_黄腾霄的博客-CSDN博客介绍了C#使用T4模板生成代码. 今天给大家详细介绍下T4模板的组成 T4模板的组成部分 T4模板的组成部分如图所示.主要由文本部分 ...
- HTML+CSS大作业: 抗击疫情网页制作作业_疫情防控网页设计模板HTML_ 简单学生网页设_静态HTML+CSS网站制作成品...
HTML+CSS大作业: 抗击疫情网页制作作业_疫情防控网页设计模板HTML_ 简单学生网页设计_静态HTML+CSS网站制作成品 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大 ...
- T4模板使用(一):认识模板及简单使用
T4模板使用(一):认识模板 前言 简介 流程 模板内容 内容 语法 打印内容 前言 t4模板是vs里用于生成代码的一个模板工具,可以对模板编写达到一键生成自己想要代码的目的. 首先,先看一下T4模板 ...
- [转]MVC实用架构设计(三)——EF-Code First(3):使用T4模板生成相似代码
本文转自:http://www.cnblogs.com/guomingfeng/p/mvc-ef-t4.html 〇.目录 一.前言 二.工具准备 三.T4代码生成预热 (一) 单文件生成:Hello ...
- 一起谈.NET技术,编写T4模板无法避免的两个话题:quot;Assembly Lockingquot;amp;quot;Debugquot;...
在这之前,我写了一系列关于代码生成和T4相关的文章,而我现在也试图将T4引入我们自己的开发框架.在实践中遇到了一些问题,也解决了不少问题.如果你也在进行T4相关的开发,相信你也一定会遇到这些问题.为此 ...
最新文章
- RHCE 学习笔记(20) ACL
- spring的BeanWrapper类的原理和使用方法
- 鑿婂瓙鏇版祴璇曡崏绋縶29C28FD771BA4B0D8693}
- CSS修改tr边框属性
- jquery datatable的详细用法
- PHP5.3版本安装
- 如何部署林根域、子域和域树
- 习题4-6 水仙花数(20 分)
- linux cmake 快速安装
- 考计算机初级难不难,初级程序员好考吗_考试难不难_上学吧
- 天正2014打开加载lisp_win10系统设置CAD2014打开自动加载天正的恢复方法
- 2018年总结和计划
- iphone模拟器的安装
- python输入按逗号分开_python print 按逗号或空格分隔的方法
- 垂直广告是什么意思_广告新趋势——内容为王 垂直细分
- 如何用wamp运行php代码,请问如何将已经写好的PHP代码部署到WAMP环境中
- HeadFirstC笔记_7 高级函数:发挥函数的极限
- Golang-Beego(go mod)
- Zeppelin集成Spark3
- 【过关斩将】面试官:小伙子你都有哪些业余爱好?