我有一个包含多个接口的项目,我想编写一个模板来生成实现这些接口的类(例如:如果我有2个接口,模板将生成2个类)。生成的类被放入特定的文件夹中。
目前,我有两个问题:
1.我的模板只生成一个包含许多类的文件
2.该类在文本模板下创建。
以下是我的代码:
<#@ template language="C#" #>
<#@ include file="EF.Utility.CS.ttinclude"#>
<#@ output extension=".cs"#>
<#
Assembly assembly = Assembly.LoadFrom(@"Example.dll");
Type[] types = assembly.GetTypes();
foreach (Type type in types)
{
if (type.IsInterface)
{
string nameSpace = "Example.Client";
string className = type.Name.TrimStart('I')";
string interfaceName = type.Name;
#>
namespace <#= nameSpace #>
{
public class <#= className #> : <#= interfaceName #>
{
}
}
<#
}
}
#>
如何为特定文件夹生成多个类?你能帮帮我吗?
谢谢,
答案 0 :(得分:0)
结帐http://www.olegsych.com/2007/12/text-template-transformation-toolkit/
也http://www.olegsych.com/2008/03/how-to-generate-multiple-outputs-from-single-t4-template/
但为什么要这么麻烦?如果它是生成的代码,那么你不需要触摸它。
答案 1 :(得分:0)
使用上面的模板,您只需将其放在该目录中的模板(.tt文件)中即可。如果您希望模板文件位于更高的目录中,请查看Oleg的http://www.olegsych.com/2008/03/how-to-generate-multiple-outputs-from-single-t4-template/注意SaveOutput()
方法。