codesmith使用简介摘自互联网_第1页
codesmith使用简介摘自互联网_第2页
codesmith使用简介摘自互联网_第3页
codesmith使用简介摘自互联网_第4页
codesmith使用简介摘自互联网_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CodeSmith(一 c代码从. CodeSmith4.0为例:获取安装包,双击安装文件,进入欢迎界点“Next”,进入协议界面选择接受协议内容,进入安装选择界面,在安装选择界面可以选择安装 点“Next”,点“Install”,CodeSmithCodeSmith(二 c代码 的版本功能有限制,要获得完整的功能, 在程序组中选择CodeSmith,选择,进入点“Register”,进入填 信息页面点“Register”,选择使用 完成激活,点“Continue”进入填写激活码界面填写激活码,点“Continue”完 CodeSmith(三 c代码CodeSmith 上的新建C#Tem te:,产生一个普通C#模板。CodeSmith(四 c代码

。CodeSmithCodeSmith(五 c代码模板中使用了DatabaseSchema和TableSchema,如何给这种属性赋值。CodeSmithCodeSmith(一 c代码5.0不错,因而写点东西以志纪念,废话完了。ASP.Net,使用的工具:CodeSmith4.0,#,NtePad,SqServer2000提要:CodeSmith编程语言代码,以及各种标记语言的代码,CodeSmithCodeTemte事求是的写吧,因为CodeSmith需要这个属性来给代码。文件名称路径,Inherits比较典型的CodeTemte如下<%@CodeTemteLanguage="C#"TargetLanguage="C#"Src=""Inherits=""Debug="False"Description="产生实体类"ResponseEncoding="UTF-8"%>PropertyProperty属Bool,True:可选,False:AssemblyAssembly属程序集名称,不包括.dllAssembley类似.Net工程中的程序集Import Import类似.Net工程中的使用命名空间,类似于usingSystem;RegisterTemCodeSmith(二 c代码在输出的部分可以使用在部分定义的Property的参数,其实可以将在<%%>中间可以填写的内容为:在模板部分的CodeTemte中Language属CodeSmith.Net10<%@CodeTemteLanguage="C#"TargetLanguage="Text"Src=""Inherits=""Debug="False"Description="Temtedescriptionhere."%><%@PropertyName="TestString"Type="System.String"Default="SomeValue"Optional="True"Category="Strings"Description="Thisisasamplestringproperty."%><%for(int{Response.Wriine("第"+i.ToString()+"次}Text,当前模板有一个输入TestString,String,默认值为“SomeValue译后,执行的结果为:0123456789Response,是不是很熟悉?哦,那...,CodeSmithResponseResponseConsole。<%for(int这回一个<%%>换成了多个,“第”和“次:”已经不在<%%>之内了,但是他<%@CodeTemteLanguage="C#"TargetLanguage="Text"Src=""Inherits=""Debug="False"Description="Temtedescriptionhere."%><%@PropertyName="TestString"Type="System.String"Default="SomeValue"Optional="True"Category="Strings"Description="Thisisasamplestringproperty."%><%for(int请大家完成一个小作业:在Internet上有一个,这个上包Url /novel/disy.aspx?id=1234,id的数值从1到10000,请大UrlCodeSmith(三 c代码函数部分:这部分可以放一些在输出部分使用的函数,函数当中也可以使用在部函数部分必须包括在<scriptrunat="tem就这么着就完了,你不是我吗。publicintSum(intx,int{return}CodeSmith(四 c代码SchemaExplorerCodeSmith(五 c代码usingusingSystem.Collections.Generic;usingSystem.Text;namespace {publicclass{privatestringprivatebool privateintage;publicstring{get{returnname;}set{name=value;}publicbool{get{return ;}set =value;}publicint{get{returnage;}set{age=value;}}}}Pascal私有字段部分有些内容是不变的,字段的修饰符为“private”,段的结尾为“;”;化的部分为,每个字段根据数据库中的类型变化为C#中类型,字段的名称也是变化的。公开字段中也有内容为不变的 public数据类型属性名{get{return字段名称;}set{字段名称=value;}<%@CodeTemteLanguage="C#"TargetLanguage="C#"Src=""Inherits=""Debug="False"Description="产生实体类"ResponseEncoding="UTF-8"%><%@PropertyName="SourceTable"Type="SchemaExplorer.TableSchema"Default=""Optional="False"Category="Context"Description="源表"%><%@AssemblyName="SchemaExplorer"<%@ImportNamespace="SchemaExplorer"<%@AssemblyName="System.Data"<%@ImportNamespace="System.Data"%>usingSystem;namespace {publicclass{<%foreach(ColumnSchemacolumninprivate<%=column.SystemType%><%foreach(ColumnSchemacolumninpublic<%=column.SystemType%>{get{return<%=column.Name%>;}}}}CodeSmith(六 c代码第二:这个类的类名是,即使产生了这个类,还得修改。提示在title_id这个属性那里。原来是字段名称和属性名称了,正确的应该是字段名称使用骆驼命名法,而属性用Pascal命名法。这好办,只需要将字publicstringToCamel(strings){return}PascalpublicstringToPascal(string{return}private<%=column.SystemType%>public<%=column.SystemType%>{get{return<%=ToCamel(column.Name)%>;}}这个…,这个…,(…真,难道让我去处理不规则名词的复数到publicstringGetClassName(TableSchema{strings=table.Name;{returnToPascal(s.Substring(0,s.Length-}return}将“”换了class板上加个参数,也就是加一个Property嘛,让他自己填,他爱填啥就是在部分添加<%@PropertyName="NameSpace"Type="System.String"Default="Model"Optional="False"Category=""Description=""Editor=""EditorBase=""Serializer=""%>Default户,也就是让我们,如此好事,为何不做?!namespacenamespaceCodeSmith(七 c代码MSILC#CTS精的问题,搞死人了。)啊,这个问题啊,先说前提,CodeSmithpublicstringGetCSDataType(ColumnSchema{switch{caseDbType.AnsiString:returncaseDbType.AnsiStringFixedLength:return"string";caseDbType.Binary:return"byte[]";caseDbType.Boolean:return"bool";caseDbType.Byte:return"byte";caseDbType.Currency:return"decimal";caseDbType.Date:return"DateTime";caseDbType.DateTime:return"DateTime";caseDbType.Decimal:return"decimal";caseDbType.Double:return"double";caseDbType.Guid:return"Guid";caseDbType.Int16:return"short";caseDbType.Int32:return"int";caseDbType.Int64:return"long";caseDbType.Object:return"object";caseDbType.SByte:return"sbyte";caseDbType.Single:return"float";caseDbType.String:returncaseDbType.StringFixedLength:return"string";caseDbType.Time:return"TimeSpan";caseDbType.UInt16:return"ushort";caseDbType.UInt32:return"uint";caseDbType.UInt64:return"ulong";caseDbType.VarNumeric:return"decimal";{return"UNKNOWN"+}}}大老啊,你…你…你我,这里明明没有用到“System.String”和其他的CTS中的类型啊,人也不能这样啊。 如果咱们用“System.String”CTSSystemTypeDataTypeCTSSQLCTSVS.Net2005switchcasecase小子,悟了吗?要不要为师给你来个当头CodeSmith(八 c代码大老,你就吧,犯错误是优点?遗忘是优点Excel、HtmlXml,HtmlHtml列类长是否为主外是否标识YYY2Y5Y1DatabaseSchema,TbleSchemaColumnSchema,的方式,生成所有的表的文档。<%@CodeTemteLanguage="C#"TargetLanguage="Html"Src=""Inherits=""Debug="False"Description="Temtedescriptionhere." <%@PropertyName="Developer"Type="String"Default=""Optional="False"Category="Context"Description="OnChanged=""Editor=""EditorBase=""Serializer=""%><%@PropertyName="SourceDB"Type="SchemaExplorer.DatabaseSchema"Default=""Optional="False"Category="Context"Description="数据库名称"OnChanged=""Editor=""EditorBase=""Serializer=""%><%@AssemblyName="SchemaExplorer"<%@AssemblyName="System.Data"<%@ImportNamespace="System.Data" ImportNamespace="SchemaExplorer"<%foreach(TableSchematablein<tableborder="1"<caption<thclass="

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论