【问题标题】:Simplify Enterprise Architect code generation简化 Enterprise Architect 代码生成
【发布时间】:2010-11-07 08:58:42
【问题描述】:

使用Enterprise Architect(7.5 版),我正在尝试改进C# 的代码生成。要使具有初始值为字符串的属性正确生成,我成功的唯一方法是使用下面的代码。有谁知道是否有更简单的方法来做到这一点?目前看起来有点臃肿。

%if attType=="string" and attInitial!=""%
 = "
%elseIf attInitial!=""%
 = 
%endIf%
%attInitial ? value%
%if attType=="string" and attInitial!=""%
"
%endIf%

【问题讨论】:

    标签: code-generation enterprise-architect


    【解决方案1】:
    %if attInitial!=""% 
     =  
    %attInitial% 
    %endIf% 
    

    EA 的 attInitial 对应于 UML 中的 Property.default。

    默认值:字符串 [0..1]

    一个经过求值的字符串,用于在实例化所属类的对象时为属性提供默认值。 -- UML 2.2 基础设施 10.2.5,增加重点

    所以根据 UML,如果属性的类型是字符串,那么值 attInitial 应该是一个计算结果为字符串的表达式,而不是字符串文字的内容。

    如果您确实希望它是一个不符合 UML 的扩展字符串文字值,您必须编写一些比您上面所做的更复杂的东西来处理转义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-13
      • 1970-01-01
      • 2012-06-24
      • 2021-12-12
      • 2017-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多