CodeSmith 使用教程(6): 基本语法-声明和使用属性
CodeSmith的核心是模板,而使模板具有活力的就是属性,通过定义属性从而使代码模板能够根据配置生成所需的代码。在使用代码模板时首先也必须给模板定义的属性定义值才能使用CodeSmith通过模板产生代码。有些属性具有缺省值,这些属性可以不需要配置。
模板中的属性通过Property指令来定义:
这可以通过定义一个枚举类型来实现:
<%@ Property Name="Accessibility" Type="AccessibilityEnum"Category="Options" Description="The accessibility of the class to be generated." %>
<%@ Property Name="ClassNamespace" Type="System.String" Optional="True"
Category="Context"
Description="The namespace that the generated class will be a member of." %>
在模板中脚本需要检测这个属性是否有值可以通过下面代码来实现:
<% if (ClassNamespace != null && ClassNamespace.Length > 0)
{ %>namespace <%= ClassNamespace %>{<% }
%>
从上面也可以看出,在脚本中使用属性直接使用属性名字即可,无需加前缀(比如$之类的前缀)。