Vereinfachen Enterprise Architect Code-Generierung
-
21-08-2019 - |
Frage
Mit Enterprise Architect (Version 7.5), ich bin versucht, die Codegenerierung für C # zu verfeinern. Um ein Attribut mit einem Anfangswert zu machen, dass ein String erzeugt richtig ist, ist die einzige Art, wie ich erfolgreich war ist mit dem folgenden Code. Weiß jemand, ob ein einfacher Weg, dies zu tun? Es scheint zur Zeit ein wenig aufgedunsen.
%if attType=="string" and attInitial!=""%
= "
%elseIf attInitial!=""%
=
%endIf%
%attInitial ? value%
%if attType=="string" and attInitial!=""%
"
%endIf%
Lösung
%if attInitial!=""%
=
%attInitial%
%endIf%
EA attInitial
entspricht in UML Property.default.
default: String [0..1]
Eine Zeichenfolge, die ausgewertet einem Standardwert für das Attribut zu geben, wenn ein Objekt der besitzenden Klasse instanziiert wird. - UML 2.2 Infrastruktur 10.2.5, Betonung hinzugefügt
So nach UML, wenn der Typ der Eigenschaft String ist, dann sollte der Wert attInitial
ein Ausdruck sein, die auf eine Zeichenfolge auswertet, nicht den Inhalt eines Zeichenfolgenliterals.
Wenn Sie es nicht mögen, einen Nicht-UML-complient Erweiterung Stringliteral Wert sein, müssen Sie etwas ein wenig komplizierter schreiben, was Sie oben getan haben, zu handhaben zu entkommen.