Question

Utilisation Enterprise Architect (version 7.5), je suis essayer d'affiner la génération de code C #. Pour un attribut avec une valeur initiale qui est une chaîne générer correctement, la seule façon que j'ai réussi est avec le code ci-dessous. Est-ce que quelqu'un sait si une façon plus simple de le faire? Il semble actuellement un peu ballonné.

%if attType=="string" and attInitial!=""%
 = "
%elseIf attInitial!=""%
 = 
%endIf%
%attInitial ? value%
%if attType=="string" and attInitial!=""%
"
%endIf%
Était-ce utile?

La solution

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

L'EA correspond attInitial à Property.default dans UML.

  

default: String [0..1]

     

Chaîne évaluée pour donner une valeur par défaut de l'attribut quand un objet de la classe possédante est instancié. - UML 2.2 infrastructure 10.2.5, l'accent ajouté

Ainsi, selon UML, si le type de la propriété est une chaîne, la valeur doit être une <=> expression à une chaîne, pas le contenu d'une chaîne littérale.

Si vous voulez qu'il soit une chaîne valeur littérale extension non-UML-complient, vous devez écrire quelque chose d'un peu plus compliqué que ce que vous avez fait ci-dessus pour gérer des échappements.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top