質問

エンタープライズアーキテクトする(バージョン7.5)を使用して、私はよC#のためのコード生成を絞り込むしようとしています。文字列が適切に生成された初期値を持つ属性を作るために、私は成功してきた唯一の方法は、以下のコードです。これを行うための簡単な方法ならば誰でも知っていますか?これは、現在、少し肥大化したようです。

%if attType=="string" and attInitial!=""%
 = "
%elseIf attInitial!=""%
 = 
%endIf%
%attInitial ? value%
%if attType=="string" and attInitial!=""%
"
%endIf%
役に立ちましたか?

解決

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

EAのattInitialは、UMLでProperty.defaultに対応します。

  

デフォルト:文字列[0..1]

     所有しているクラスのオブジェクトをインスタンス化するときに、属性のデフォルト値を与えるために、のを評価され、

文字列。 - UML 2.2インフラ10.2.5、強調追加

プロパティの種類が文字列である場合、

そこでUMLによれば、次に値attInitialは、文字列ではなく、リテラル文字列の内容に評価される式でなければならない。

あなたはそれが非UML-準拠の拡張文字列リテラル値になりたいならば、

、あなたはエスケープ処理するために、上記のやっていることを、もう少し複雑な何かを記述する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top