问题
In StarUML 5.0, I am trying to define a class with an attribute of the type Guid[] (an array of Guid Structure). But it is not allowable to enter "-guids : Guid[]" since StarUML automatically discards the square brackets.
I have not tried other modeling tools...just want to know how to do this with StarUML.
StarUML seems to accepts if I provide the length of the array, like "-guids : Guid[10], but in the code generated by StarUML, this field is something like
private Guid guids; //the square brackets are missing;
Or I can add an asterisk like "-guids : Guid*", in the code generated, the field is like this
private Guid* guids;
this is not what i want neither, even with the fact that in C++ a pointer and an array is conceptually interchangeable. (I am coding in C#)
回答1:
StarUML defines arrays a little differently to standard UML. For your specific problem I would use [*] to define the array. The first example below describes this.
Define an array with an undefined number of elements:
-guids: Guid[*]
Define an array with a specific number of elements:
-guids: Guid[16]
Define a base 0 array with an undefined number of elements:
-guids: Guid[0..*]
Define a base 1 array with an undefined number of elements:
-guids: Guid[1..*]
Define a specific base array with a specific number of elements:
-guids: Guid[1..100]
来源:https://stackoverflow.com/questions/7949622/staruml-class-diagram-add-attribute-of-the-type-guid