Диаграмма классов 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]
Другие вопросы по тегам