Home Database Mysql Tutorial CodeSmith实用技巧(十):通过编程执行模版

CodeSmith实用技巧(十):通过编程执行模版

Jun 07, 2016 pm 03:10 PM
Practical Tips implement stencil programming pass

CodeSmith 在执行模版时通过调用一些 API 来完成的,主要经过了以下这几步的操作: l 编译一个模版 l 显示编译错误信息 l 创建一个新的模版实例 l 用元数据填充模版 l 输出结果 下面这段代码显示了这些操作: CodeTemplateCompilercompiler = new CodeTempla

CodeSmith在执行模版时通过调用一些API来完成的,主要经过了以下这几步的操作:

l         编译一个模版

l         显示编译错误信息

l         创建一个新的模版实例

l         用元数据填充模版

l         输出结果

下面这段代码显示了这些操作:

CodeSmith实用技巧(十):通过编程执行模版CodeTemplateCompiler compiler = new CodeTemplateCompiler("..\\..\\StoredProcedures.cst");
CodeSmith实用技巧(十):通过编程执行模版compiler.Compile();
CodeSmith实用技巧(十):通过编程执行模版 
CodeSmith实用技巧(十):通过编程执行模版
if (compiler.Errors.Count == 0)
CodeSmith实用技巧(十):通过编程执行模版CodeSmith实用技巧(十):通过编程执行模版
CodeSmith实用技巧(十):通过编程执行模版{
CodeSmith实用技巧(十):通过编程执行模版    CodeTemplate template 
= compiler.CreateInstance();
CodeSmith实用技巧(十):通过编程执行模版 
CodeSmith实用技巧(十):通过编程执行模版    DatabaseSchema database 
= new DatabaseSchema(new SqlSchemaProvider(), @"Server=(local)\NetSDK;Database=Northwind;Integrated Security=true;");
CodeSmith实用技巧(十):通过编程执行模版    TableSchema table 
= database.Tables["Customers"];
CodeSmith实用技巧(十):通过编程执行模版 
CodeSmith实用技巧(十):通过编程执行模版    template.SetProperty(
"SourceTable", table);
CodeSmith实用技巧(十):通过编程执行模版    template.SetProperty(
"IncludeDrop"false);
CodeSmith实用技巧(十):通过编程执行模版    template.SetProperty(
"InsertPrefix""Insert");
CodeSmith实用技巧(十):通过编程执行模版 
CodeSmith实用技巧(十):通过编程执行模版    template.Render(Console.Out);
CodeSmith实用技巧(十):通过编程执行模版}

CodeSmith实用技巧(十):通过编程执行模版
else
CodeSmith实用技巧(十):通过编程执行模版CodeSmith实用技巧(十):通过编程执行模版
CodeSmith实用技巧(十):通过编程执行模版{
CodeSmith实用技巧(十):通过编程执行模版    
for (int i = 0; i  compiler.Errors.Count; i++)
CodeSmith实用技巧(十):通过编程执行模版CodeSmith实用技巧(十):通过编程执行模版    
CodeSmith实用技巧(十):通过编程执行模版{
CodeSmith实用技巧(十):通过编程执行模版        Console.Error.WriteLine(compiler.Errors[i].ToString());
CodeSmith实用技巧(十):通过编程执行模版    }

CodeSmith实用技巧(十):通过编程执行模版}

CodeSmith实用技巧(十):通过编程执行模版
CodeSmith实用技巧(十):通过编程执行模版

在这里我们用了

Render方法,其实CodeTemplate.RenderToFileCodeTemplate.RenderToString方法可能更有用,它可以直接让结果输出到文件中或赋给字符型的变量。

注意:该功能只能在CodeSmith专业版中使用
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Remove duplicate values ​​from PHP array using regular expressions Remove duplicate values ​​from PHP array using regular expressions Apr 26, 2024 pm 04:33 PM

Remove duplicate values ​​from PHP array using regular expressions

What is programming for and what is the use of learning it? What is programming for and what is the use of learning it? Apr 28, 2024 pm 01:34 PM

What is programming for and what is the use of learning it?

Build browser-based applications with Golang Build browser-based applications with Golang Apr 08, 2024 am 09:24 AM

Build browser-based applications with Golang

The Key to Coding: Unlocking the Power of Python for Beginners The Key to Coding: Unlocking the Power of Python for Beginners Oct 11, 2024 pm 12:17 PM

The Key to Coding: Unlocking the Power of Python for Beginners

Java Made Simple: A Beginner's Guide to Programming Power Java Made Simple: A Beginner's Guide to Programming Power Oct 11, 2024 pm 06:30 PM

Java Made Simple: A Beginner's Guide to Programming Power

Create the Future: Java Programming for Absolute Beginners Create the Future: Java Programming for Absolute Beginners Oct 13, 2024 pm 01:32 PM

Create the Future: Java Programming for Absolute Beginners

Problem-Solving with Python: Unlock Powerful Solutions as a Beginner Coder Problem-Solving with Python: Unlock Powerful Solutions as a Beginner Coder Oct 11, 2024 pm 08:58 PM

Problem-Solving with Python: Unlock Powerful Solutions as a Beginner Coder

Demystifying C: A Clear and Simple Path for New Programmers Demystifying C: A Clear and Simple Path for New Programmers Oct 11, 2024 pm 10:47 PM

Demystifying C: A Clear and Simple Path for New Programmers

See all articles