Диаграмма классов StarUML: добавить атрибут типа Guid[]
В StarUML 5.0 я пытаюсь определить класс с атрибутом типа Guid[] (массив структуры Guid). Но нельзя вводить "-guids: Guid[]", так как StarUML автоматически отбрасывает квадратные скобки.
Я не пробовал другие инструменты моделирования... просто хочу знать, как это сделать с StarUML.
StarUML, кажется, принимает, если я укажу длину массива, например "-guids: Guid[10], но в коде, сгенерированном StarUML, это поле выглядит примерно так:
private Guid guids; //the square brackets are missing;
Или я могу добавить звездочку типа "-guids: Guid*", в сгенерированном коде поле выглядит следующим образом
private Guid* guids;
это не то, чего я хочу, даже с учетом того факта, что в C++ указатель и массив являются концептуально взаимозаменяемыми. (Я кодирую на C#)
1 ответ
StarUML определяет массивы немного иначе, чем стандартный UML. Для вашей конкретной задачи я бы использовал [*] для определения массива. Первый пример ниже описывает это.
Определите массив с неопределенным количеством элементов:
-guids: Guid[*]
Определите массив с определенным количеством элементов:
-guids: Guid[16]
Определите базовый массив 0 с неопределенным количеством элементов:
-guids: Guid[0..*]
Определите базовый массив с неопределенным количеством элементов:
-guids: Guid[1..*]
Определите конкретный базовый массив с определенным количеством элементов:
-guids: Guid[1..100]