Domanda

Enterprise Architect (versione 7.5), sono cercando di affinare la generazione di codice C #. Per fare un attributo con un valore iniziale che è una stringa di generare correttamente, l'unico modo ho avuto successo è con il codice qui sotto. Qualcuno sa se un modo più semplice per fare questo? Attualmente sembra un po 'gonfio.

%if attType=="string" and attInitial!=""%
 = "
%elseIf attInitial!=""%
 = 
%endIf%
%attInitial ? value%
%if attType=="string" and attInitial!=""%
"
%endIf%
È stato utile?

Soluzione

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

di EA corrisponde a Property.default in UML.

  

di default: String [0..1]

     

Una stringa che è valutate per dare un valore di default per l'attributo quando un oggetto della classe proprietaria è istanziata. - UML 2.2 infrastrutture 10.2.5, corsivo

Quindi, secondo UML, se il tipo della proprietà è stringa, il valore di <=> dovrebbe essere un'espressione che restituisce una stringa, non il contenuto di una stringa letterale.

Se non vuoi che sia un valore letterale di stringa estensione non-UML-complient, devi scrivere qualcosa di un po 'più complicato che quello che avete fatto in precedenza per gestire la fuga.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top