TemplateBase.cs是CodeSmith的核心,要编写高质量的模板必须先要了解其中的内容 这里我简单说一下:要添加一个MyTest.cst模板需要在TemplateBase.cs中注意修改的3个地方: 1.
#region Enumerations
public enum ObjectType
{
MyTest,
EditableRoot,
EditableRootList,
EditableChild,
EditableChildList,
EditableSwitchable,
NameValueList,
ReadOnlyRoot,
ReadOnlyRootList,
ReadOnlyChild,
ReadOnlyChildList
}
2.
public class TemplateHelper { private TemplateHelper() { } public static bool IsObjectType(ICodeTemplateInfo info) { switch (info.FileName.ToLower()) { case "mytest.cst": 3.
public static ObjectType ToObjectType(ICodeTemplateInfo info) { switch (info.FileName.ToLower()) { case "mytest.cst": return ObjectType.MyTest; case "editableroot.cst": return ObjectType.EditableRoot; case "editablerootlist.cst": return ObjectType.EditableRootList;
否则生成的时候会报错,提示不能生成业务类型