Упрощение генерации кода Enterprise Architect
-
21-08-2019 - |
Вопрос
Используя Корпоративный Архитектор (версия 7.5), я пытаюсь усовершенствовать генерацию кода для C #.Чтобы заставить атрибут с начальным значением, представляющим собой строку, сгенерироваться должным образом, единственный способ добиться успеха - это использовать приведенный ниже код.Кто-нибудь знает, есть ли более простой способ сделать это?В настоящее время он кажется немного раздутым.
%if attType=="string" and attInitial!=""%
= "
%elseIf attInitial!=""%
=
%endIf%
%attInitial ? value%
%if attType=="string" and attInitial!=""%
"
%endIf%
Решение
%if attInitial!=""%
=
%attInitial%
%endIf%
Советник attInitial
соответствует Property.default в UML.
По умолчанию :Строка [0..1]
Строка , которая является оцененный чтобы присвоить атрибуту значение по умолчанию при создании экземпляра объекта класса-владельца.-- Инфраструктура UML 2.2 10.2.5, выделено дополнительно
Таким образом, согласно UML, если тип свойства - string, то значение attInitial
должно быть выражением, которое вычисляет строку, а не содержимое строкового литерала.
Если вы действительно хотите, чтобы это было литеральное значение строки расширения, не соответствующее UML, вам нужно написать что-то немного более сложное, чем то, что вы сделали выше, для обработки экранирования.