codesmith使用簡(jiǎn)介摘自互聯(lián)網(wǎng)_第1頁(yè)
codesmith使用簡(jiǎn)介摘自互聯(lián)網(wǎng)_第2頁(yè)
codesmith使用簡(jiǎn)介摘自互聯(lián)網(wǎng)_第3頁(yè)
codesmith使用簡(jiǎn)介摘自互聯(lián)網(wǎng)_第4頁(yè)
codesmith使用簡(jiǎn)介摘自互聯(lián)網(wǎng)_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

CodeSmith(一 c代碼從. CodeSmith4.0為例:獲取安裝包,雙擊安裝文件,進(jìn)入歡迎界點(diǎn)“Next”,進(jìn)入?yún)f(xié)議界面選擇接受協(xié)議內(nèi)容,進(jìn)入安裝選擇界面,在安裝選擇界面可以選擇安裝 點(diǎn)“Next”,點(diǎn)“Install”,CodeSmithCodeSmith(二 c代碼 的版本功能有限制,要獲得完整的功能, 在程序組中選擇CodeSmith,選擇,進(jìn)入點(diǎn)“Register”,進(jìn)入填 信息頁(yè)面點(diǎn)“Register”,選擇使用 完成激活,點(diǎn)“Continue”進(jìn)入填寫激活碼界面填寫激活碼,點(diǎn)“Continue”完 CodeSmith(三 c代碼CodeSmith 上的新建C#Tem te:,產(chǎn)生一個(gè)普通C#模板。CodeSmith(四 c代碼

。CodeSmithCodeSmith(五 c代碼模板中使用了DatabaseSchema和TableSchema,如何給這種屬性賦值。CodeSmithCodeSmith(一 c代碼5.0不錯(cuò),因而寫點(diǎn)東西以志紀(jì)念,廢話完了。ASP.Net,使用的工具:CodeSmith4.0,#,NtePad,SqServer2000提要:CodeSmith編程語(yǔ)言代碼,以及各種標(biāo)記語(yǔ)言的代碼,CodeSmithCodeTemte事求是的寫吧,因?yàn)镃odeSmith需要這個(gè)屬性來(lái)給代碼。文件名稱路徑,Inherits比較典型的CodeTemte如下<%@CodeTemteLanguage="C#"TargetLanguage="C#"Src=""Inherits=""Debug="False"Description="產(chǎn)生實(shí)體類"ResponseEncoding="UTF-8"%>PropertyProperty屬Bool,True:可選,F(xiàn)alse:AssemblyAssembly屬程序集名稱,不包括.dllAssembley類似.Net工程中的程序集Import Import類似.Net工程中的使用命名空間,類似于usingSystem;RegisterTemCodeSmith(二 c代碼在輸出的部分可以使用在部分定義的Property的參數(shù),其實(shí)可以將在<%%>中間可以填寫的內(nèi)容為:在模板部分的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,當(dāng)前模板有一個(gè)輸入TestString,String,默認(rèn)值為“SomeValue譯后,執(zhí)行的結(jié)果為:0123456789Response,是不是很熟悉?哦,那...,CodeSmithResponseResponseConsole。<%for(int這回一個(gè)<%%>換成了多個(gè),“第”和“次:”已經(jīng)不在<%%>之內(nèi)了,但是他<%@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請(qǐng)大家完成一個(gè)小作業(yè):在Internet上有一個(gè),這個(gè)上包Url /novel/disy.aspx?id=1234,id的數(shù)值從1到10000,請(qǐng)大UrlCodeSmith(三 c代碼函數(shù)部分:這部分可以放一些在輸出部分使用的函數(shù),函數(shù)當(dāng)中也可以使用在部函數(shù)部分必須包括在<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私有字段部分有些內(nèi)容是不變的,字段的修飾符為“private”,段的結(jié)尾為“;”;化的部分為,每個(gè)字段根據(jù)數(shù)據(jù)庫(kù)中的類型變化為C#中類型,字段的名稱也是變化的。公開(kāi)字段中也有內(nèi)容為不變的 public數(shù)據(jù)類型屬性名{get{return字段名稱;}set{字段名稱=value;}<%@CodeTemteLanguage="C#"TargetLanguage="C#"Src=""Inherits=""Debug="False"Description="產(chǎn)生實(shí)體類"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代碼第二:這個(gè)類的類名是,即使產(chǎn)生了這個(gè)類,還得修改。提示在title_id這個(gè)屬性那里。原來(lái)是字段名稱和屬性名稱了,正確的應(yīng)該是字段名稱使用駱駝命名法,而屬性用Pascal命名法。這好辦,只需要將字publicstringToCamel(strings){return}PascalpublicstringToPascal(string{return}private<%=column.SystemType%>public<%=column.SystemType%>{get{return<%=ToCamel(column.Name)%>;}}這個(gè)…,這個(gè)…,(…真,難道讓我去處理不規(guī)則名詞的復(fù)數(shù)到publicstringGetClassName(TableSchema{strings=table.Name;{returnToPascal(s.Substring(0,s.Length-}return}將“”換了class板上加個(gè)參數(shù),也就是加一個(gè)Property嘛,讓他自己填,他愛(ài)填啥就是在部分添加<%@PropertyName="NameSpace"Type="System.String"Default="Model"Optional="False"Category=""Description=""Editor=""EditorBase=""Serializer=""%>Default戶,也就是讓我們,如此好事,為何不做?!namespacenamespaceCodeSmith(七 c代碼MSILC#CTS精的問(wèn)題,搞死人了。)啊,這個(gè)問(wèn)題啊,先說(shuō)前提,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"+}}}大老啊,你…你…你我,這里明明沒(méi)有用到“System.String”和其他的CTS中的類型啊,人也不能這樣啊。 如果咱們用“System.String”CTSSystemTypeDataTypeCTSSQLCTSVS.Net2005switchcasecase小子,悟了嗎?要不要為師給你來(lái)個(gè)當(dāng)頭CodeSmith(八 c代碼大老,你就吧,犯錯(cuò)誤是優(yōu)點(diǎn)?遺忘是優(yōu)點(diǎn)Excel、HtmlXml,HtmlHtml列類長(zhǎng)是否為主外是否標(biāo)識(shí)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="數(shù)據(jù)庫(kù)名稱"OnChanged=""Editor=""EditorBase=""Serializer=""%><%@AssemblyName="SchemaExplorer"<%@AssemblyName="System.Data"<%@ImportNamespace="System.Data" ImportNamespace="SchemaExplorer"<%foreach(TableSchematablein<tableborder="1"<caption<thclass="

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論