2009-07-01 55 views
1

使用Enterprise Architect(7.5版本),我試圖改進代碼生成C#。要創建一個正確生成字符串的初始值的屬性,我成功的唯一方法是使用下面的代碼。有誰知道如果一個更簡單的方法來做到這一點?目前它似乎有點臃腫。簡化企業架構師代碼生成

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

回答

1
%if attInitial!=""% 
= 
%attInitial% 
%endIf% 

EA的attInitial相當於在UML中Property.default。

默認:字符串[0..1]

一個字符串,它評價當所屬類的一個對象被實例化,得到默認值的屬性。 - UML 2.2基礎設施10.2.5,加上強調

所以根據UML,如果該屬性的類型是串,則該值attInitial應該將計算得到一個字符串,而不是的內容的表達字符串字面量。

如果你希望它是一個非UML-complient擴展字符串文本值,你必須寫一些更復雜,你在上面做處理逃跑。