1.初識CodeSmith
要想知道CodeSmith到底有多強大那麼我告訴你最好的方法就是去試試,儘管CodeSmith有很多進階甚至複雜的功能,但你不用掌握這所有的功能就能很好的用它來幫你產生代碼。
在這一章,你將學習到如何使用CodeSmith產生一段有用的代碼-強型別的hash表類,跟著我,保證你不到五分鐘就能完成,並且你能領略到CodeSmith Explorer和CodeSmith Studio產生模版代碼的強大功能。
2.啟動CodeSmith Explorer
第一步要做的就是啟動CodeSmith Explorer,就像Windows Explorer 組織儲存在你電腦上的檔案夾的功能類似,CodeSmith Explorer的主要功能是是組織模版檔案,通過select Start > Programs > CodeSmith 3.0 > CodeSmith Explorer啟動你的CodeSmith Explorer,在CodeSmith Explorer的初始介面包括了一些樣本模版。
3.開啟一個模板
模板示產生代碼的樣式,CodeSmith提供一些很有用的基礎模板,你也可以從CodeSmith support site
下載到更多的模板,你也可以用CodeSmith開發你自己的模板。
首先,點擊根目錄檔案夾的加號
以cst為副檔名的檔案就是CodeSmith模板,你可能已經從這些模板的名字猜出了它們的大致用途了吧。例如CSHashTable.cst 模板用於產生c#hash表類,雙擊這個模板(或者滑鼠右鍵選擇執行)開啟它。
4.設定屬性
一個代碼產生器如果每次都產生相同的代碼那麼根本就沒用,當然如果你僅僅把它當成一個代碼儲存空間那麼就另當別論了。CodeSmith可以自訂屬性來讓你產生自訂代碼。當你用CodeSmith Explorer開啟一個模板檔案,模板屬性頁面會顯示出模板所需要的屬性。在CodeSmith產生代碼之前你必須填寫這些參數的值。CSHashTable模板需要四個字串類型的屬性(ClassName, ClassNamespace, ItemType, and KeyType)以及一個枚舉類型的屬性(Accessibility).。你可以為字串類型的屬性輸入你想輸入的任意值,而枚舉型屬性你只能通過下拉式功能表來選取相應的值。作為第一次嘗試,我們輸入以下一些值:
CodeSmith最大的優點就在於能定義不同類型的中繼資料屬性。例如,你可以建立一個資料庫表單屬性,讓使用者在資料庫中選取表並產生代碼。CodeSmith建立資料庫表屬性的特點我們將在以後的章節講解。