我有很多类和接口的类图。
我想通过我的自定义模板(大约10个模板)为某些类生成代码。为了做到这一点,我必须为每个“特殊”类指定我的模板。
但我不想复制粘贴模板绑定。相反,我希望将其设置在根级,例如为我的特殊类设置原型,以便代码生成只对特定类应用模板。我怎样才能做到这一点?
发布于 2014-09-11 10:22:02
我找到答案了!我需要做的唯一一件事就是重写检查我的模板是否可以应用于任何UML元素的方法。我将下一段代码添加到我的t4模板文件中,以检查构造型“辅助性”是否应用于该类:
<#+
protected override bool AppliesToElement()
{
bool isTemplate = this.Element.IsTemplate;
bool isBoundElement = this.Element.TemplateBindings != null && this.Element.TemplateBindings.Any();
return !isTemplate && !isBoundElement && GetStereotype(this.Element) == "class"
&& this.Element.AppliedStereotypes.Any(s=>s.Name == "auxiliary");
}
#>https://stackoverflow.com/questions/22628079
复制相似问题