Reversing a model
Operating mode
From any package, the running of the reverse commands from the toolbar displays the assembly (".dll" or ".exe") to reverse. You can then press “Show assembly content” to display class hierarchy.
Clicking on a class or package selects it, while selecting the "Reverse" button launches the import of the selected classes.
Classes used
A reversed class can have attributes, associations or operation parameters, whose type corresponds to the non-reversed class. If so, these classes are created empty in Objecteering, and can be reversed later.
C#/Objecteering equivalence
The constructors of a C# class are created using the "create" stereotype in Objecteering.
Since the passing mode of the parameters in C# is through reference, all the
parameters of an operation, except the return parameter, are of In/Out type.
Equivalence with C# primitive types
When you import an attribute or a parameter with a primitive C# type, equivalence is established with Objecteering's predefined types. Certain C# types require the addition of a tagged value.
|
Primitive
C# type ... |
Type in
the repository ... |
Tagged
value ... |
|
bool |
boolean |
N/A |
|
char |
char |
N/A |
|
int |
integer |
N/A |
|
uint |
integer |
CsUnsignedInt |
|
short |
integer |
CsShort |
|
ushort |
integer |
CsUnsignedShort |
|
long |
integer |
CsLong |
|
ulong |
integer |
CsUnsignedLong |
|
sbyte |
integer |
CsSignedByte |
|
byte |
integer |
CsByte |
|
float |
real |
N/A |
|
double |
real |
CsDouble |
|
decimal |
real |
CsDecimal |
Restrictions
When a type declaration cannot be expressed in Objecteering, it is encapsulated in a {CsTypeExpr} tagged value, and the attribute, association or parameter type gets the "undefined" value.
This {CsTypeExpr} tagged value is not included in the signature of a method. Therefore, if an "m1" method is defined containing the only parameter which has a type that cannot be expressed (a CsTypeExpr), the creation of a second "m1" method with only one CsTypeExpr parameter will not be accepted by Objecteering. This situation, however, is very rare.