C#/Modelio equivalence

The constructors of a C# class are created using the «create» stereotype in Modelio.
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 Modelio’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

short

N/A

ushort

short

CsUnsignedShort

long

long

N/A

ulong

long

CsUnsignedLong

sbyte

byte

CsSignedByte

byte

byte

N/A

float

float

N/A

double

double

N/A

decimal

double

CsDecimal

Restrictions

When a type declaration cannot be expressed in Modelio, 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 Modelio. This situation, however, is very rare.