在StarUML 5.0中,我试图定义一个类型为Guid [](Guid Structure数组)的类。但是不允许输入“-guids:Guid []”,因为StarUML会自动丢弃方括号。
我还没有尝试过其他建模工具......只想知道如何使用StarUML。
StarUML似乎接受了如果我提供数组的长度,比如“-guids:Guid [10],但是在StarUML生成的代码中,这个字段就像是
private Guid guids; //the square brackets are missing;
或者我可以在生成的代码中添加类似“-guids:Guid *”的星号,字段就是这样
private Guid* guids;
这不是我想要的,即使在C ++中指针和数组在概念上可以互换。 (我用C#编码)
答案 0 :(得分:8)
StarUML定义数组与标准UML略有不同。对于您的具体问题,我会使用[*]来定义数组。下面的第一个例子描述了这个。
定义具有未定义元素数的数组:
-guids: Guid[*]
定义具有特定数量元素的数组:
-guids: Guid[16]
定义具有未定义元素数的基数为0的数组:
-guids: Guid[0..*]
定义具有未定义元素数的基数为1的数组:
-guids: Guid[1..*]
使用特定数量的元素定义特定的基本数组:
-guids: Guid[1..100]