Simplifier Enterprise Architect génération de code
-
21-08-2019 - |
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%
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.