
Define Templates for Generating Code #50
Chapter 6, Speed Hacks
|
199
HACK
loaded into the template and executed -->
<propertySets>
<propertySet>
<property name="className">Car</property>
</propertySet>
<propertySet>
<property name="className">Truck</property>
</propertySet>
</propertySets>
</codeSmith>
The template element specifies the name of the template you want to exe-
cute. The namespace element specifies what namespace your generated class
should be included in. The
imports element lists all of the namespaces that
should be included in your generated class. With this template, you will
need to include
System and System.Collections as the Dictionary class is in
the
System.Collections namespace. Finally, the propertySets element con-
tains any number of property sets that will be passed to the template. In this
sample XML file, I have specified two property sets, one with the class name
of Car and the other with the class name of Truck. Property sets are the
automated method of specifying parameters when running the template.
The property set contains exactly what you would specify if you were run-
ning the template through the normal GUI.
Execute in Visual Studio
The next step is to set up and execute the CodeSmith custom tool. Just as
with other custom tools, you need to specify the name of the custom tool in
the properties page of the XML file. The name of the CodeSmith custom
tool is
CodeSmithGenerator ...