2014-03-25 83 views
0

我有很多類和接口的類圖。如何根據構造型而不是元素類型從uml建模項目在visual studio中生成代碼?

我想爲我的自定義模板(約10個模板)生成一些類的代碼。爲了做到這一點,我必須爲每個「特殊」類指定我的模板。

但我不想複製粘貼模板綁定。相反,我想在根級上設置它,併爲我的特殊類設置示例構造型,以便代碼生成僅將模板應用於特定類。我怎樣才能實現它?

回答

0

我找到了答案! 我需要做的唯一事情就是覆蓋檢查我的模板是否可以應用於任何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"); 
    } 
#> 
相關問題