代码生成利器-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.zip

文档:文档

NCodeGenerate 系列文章:

一、代码生成利器-NCodeGenerate 是什么?

二、代码生成利器-NCodeGenerate 教程(1) 遍历数据库内的所有表

三、代码生成利器-NCodeGenerate 教程(2) NCodeGenerate的代码公用之一

四、代码生成利器-NCodeGenerate 教程(3) 生成代码到文件.

五、代码生成利器-NCodeGenerate 教程(4) CodeSmith模板转换

六、代码生成利器-NCodeGenerate 教程(5) 多种数据库的支持

七、代码生成利器-NCodeGenerate 教程(6) 调试功能 NTrace 输出

八、代码生成利器-NCodeGenerate 教程(7) 揭开调试功能 的神秘面纱

九、代码生成利器-NCodeGenerate 教程(8) 揭开Razor模板引擎的神秘面纱

十、代码生成利器-NCodeGenerate 教程(9) 数据类型映射Map功能

posted @ 2012-12-24 10:29  NCodeGenerate  阅读(1448)  评论(1编辑  收藏  举报