代码生成利器-NCodeGenerate 教程(2) NCodeGenerate的代码公用之一
NCodeGenerate 使用起来非常方便。
在使用过程中,我们经常会有些公用的代码在不同的模板中使用。如果没有扩展机制的话,代码需要在各个模板间拷贝,这显然太低级了。
对了,你猜的没错,NCodeGenerate有良好的公用机制的。总共有两种:
一、C#代码扩展。
二、程序集扩展。
今天我们就讲第一种,C#代码扩展。
第一步,在菜单中新建C#文件,并输入以下代码
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using NCodeGenerate.DBSchema; 6 using System.Data; 7 using System.Text.RegularExpressions; 8 9 public static class ConvertHelper1 10 { 11 12 13 public static string TestA(string bb) 14 { 15 return bb; 16 } 17 public static string TestA(string bb,string cc) 18 { 19 return bb+cc; 20 } 21 }
好了,要保存以下,注意哦,一定要先保存一下,否则下一步引用的时候会找不到路径的。
第二步,新建模板文件,输入以下代码
1 @AssemblyFile .\ConvertHelper1.cs 2 <h1>Welcome to @Model.Namespace!</h1> 3 <div>Start typing some text to get started.</div> 4 <div>Or, try adding a property called 'Message' and see what happens...</div> 5 @ConvertHelper1.TestA("Hello"," NCodeGenerate") 6 <h3></h3>
好了,高潮来了。 看第1行代码 : 这里用 @AssemblyFile 指令来引入一步产生的CS文件。 后面是 文件的相对路径。 注意哦,只能是相对路径,不能使绝对路径。
好吧,现在我们看第5行代码。在输入@ConvertHelp1.后看到了什么?有智能提示吗?什么没有?!。什么地方搞错了?
找到原因了,有由于模板文件没有保存。虽有就没有路径。当然引入文件就不会成功。
现在保存一下,在试一试。
OK,智能提示出来了。
第三步,运行
结果出来了
1 <h1>Welcome to !</h1> 2 <div>Start typing some text to get started.</div> 3 <div>Or, try adding a property called 'Message' and see what happens...</div> 4 Hello NCodeGenerate 5 <h3></h3>
大功告成。
附上下载地址:
文档:文档
NCodeGenerate 系列文章: