2009-07-01 18 views
1

Enterprise Architect(バージョン7.5)を使用して、C#のコード生成を改良しようとしています。文字列である初期値を持つ属性を適切に生成するには、私が成功した唯一の方法は以下のコードで行います。誰かがこれを行う簡単な方法を知っていますか?現在、少し肥大化しているようです。Enterprise Architectコードの生成を簡略化

%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は、文字列ではなく、Aのコンテンツに評価される式でなければなりません文字列リテラル。

UMLに準拠していない拡張文字列リテラル値にしたい場合は、エスケープ処理のために上で行ったことよりもう少し複雑なものを書く必要があります。