原文信息

  • 原文地址
  • 原文作者信息
    • Justin Greenwood
    • MyGeneration Software
    • http://www.mygenerationsoftware.com/
    • October 7, 2004
系统需求:
  • Microsoft Windows 2000/XP
  • Microsoft .Net Framework 1.1/更高
  • MDAC 2.7/更高
  • MyGeneration
概观

MyGeneration目前使用了两种脚本引擎,一个是Microsoft Scripting Engine,它提供了JScript和VBScript的生成支持;另一个是 DotNetScript ,它提供了 VB.NET 和 C# 的支持。 DotNetScript 不像Microsoft Scripting Control那样的真正的脚本。实际上,它在运行时编译代码,然后利用编译后的.NET Assembly执行代码。这个教程通过例子说明使用 DotNetScript 开发MyGeneration模板的赞成与反对的理由。在这个例子中,我将使用C#和MS SQL中附带的Northwind数据库。

创建一个新的C#模板
  • 打开MyGeneration
  • 通过File->New->C# Template创建一个新的模板
  • 点击属性按钮编辑模板的属性
  • 如下图,填充模板的属性
  • 保存模板

开发.Net Script 模板-MyGeneration (翻译)

研究默认的模板代码
默认的模板主体代码:

不像 JScript 或VBScript,C#的的模板代码相对较少。这个默认的代码是非常重要的。一个C#模板必须有一个继承了 DotNetScriptTemplate 的名为 GeneratedTemplate 的类。 MyGeneration 通过实例化 GeneratedTemplate ,并调用Render方法开始生成过程。几乎大部分的模板开发工作都在Render方法里面完成。试试执行这个模板,你将会看到literal content goes here作为输出出现。

开发.Net Script 模板-MyGeneration (翻译)<%
开发.Net Script 模板-MyGeneration (翻译) 
public class GeneratedTemplate : DotNetScriptTemplate
%>
默认的UI接口代码:

在默认的模板的接口代码中,同样需要一个名为GeneratedGui的,继承DotNetScriptGui的强制类。如同模板主体代码的Render方法一样, MyGeneration 将调用Setup方法开始显示用户接口并收集输入。

开发.Net Script 模板-MyGeneration (翻译)public class GeneratedGui : DotNetScriptGui
获取输入:用户接口的代码块

在这个例子中,用户将通过接口选择一个表。这个是接口代码块的擅长的工作。用户接口获取的输入数据,将在模板主体代码中用来生成代码。
使用MyGeneration的接口代码:

开发.Net Script 模板-MyGeneration (翻译)public class GeneratedGui : DotNetScriptGui
 }

使用.NET Windows Form API的接口代码:
下面的代码是不使用 MyGeneration API的替换方案,它可以达到与上面的代码同样的目的。

开发.Net Script 模板-MyGeneration (翻译)<%#REFERENCE System.Windows.Forms.dll %>
开发.Net Script 模板-MyGeneration (翻译) 
<%#NAMESPACE System.Windows.Forms %>
开发.Net Script 模板-MyGeneration (翻译) 
public class GeneratedGui : DotNetScriptGui

 

模板主体

模板主体是生成代码的主要执行地。下面讲解了我如何生成代码的步骤。

1、将期望输出的代码放入到Render的方法中如下的代码,你将看到我将要生成的类。这几乎都是当我要生成一个模板是必做的第一件事情。

开发.Net Script 模板-MyGeneration (翻译)<%
开发.Net Script 模板-MyGeneration (翻译) 
public class GeneratedTemplate : DotNetScriptTemplate

2、添加动态代码把动态的代码添加到模板中,替换掉类名、属性名称以及数据类型。

开发.Net Script 模板-MyGeneration (翻译)<%
开发.Net Script 模板-MyGeneration (翻译) 
public class GeneratedTemplate : DotNetScriptTemplate
总结

使用 DotNetScript ,你将会把 MyGeneration 的模板开发提升到一个新的水平,提供更强大的功能以及能开发更复杂的系统。

相关文章:

  • 2021-12-22
  • 2019-12-04
  • 2021-09-17
  • 2021-07-02
  • 2021-05-24
  • 2022-01-05
猜你喜欢
  • 2022-12-23
  • 2022-02-02
  • 2022-12-23
  • 2021-05-21
  • 2021-12-22
相关资源
相似解决方案