Where data types can be used
Data types are used in fields, parameters, and return values. The following table shows where each type can be used. The term “class” refers to object-oriented code compiled with the traditional Synergy compiler. “Nonclass” refers to non-object-oriented code. “.NET” refers to code compiled with the Synergy .NET compiler.
Data type |
Class |
Nonclass |
.NET |
||||||
---|---|---|---|---|---|---|---|---|---|
field |
parameter |
return value |
field |
parameter |
return value |
field |
parameter |
return value |
|
a |
|
|
|
|
|
|
|
|
|
a* |
|
|
|
|
|
|
|
|
|
asize |
|
|
|
|
|
|
|||
boolean |
|
|
|
|
|
|
|
|
|
byte |
|
|
|
|
|
|
|
|
|
d |
|
|
|
|
|
|
|
|
|
d* |
|
|
|
|
|
|
|
|
|
dsize |
|
|
|
|
|
|
|||
d. |
|
|
|
|
|
|
|
|
|
dsize.precision |
|
|
|
|
|
|
|
|
|
decimal |
|
|
|
|
|
|
|
||
double |
|
|
|||||||
float |
|
|
|||||||
i |
|
|
|
|
|
|
|
|
|
i* |
|
|
|
|
|
|
|
|
|
i1 |
|
|
|
|
|
|
|
|
|
i2 |
|
|
|
|
|
|
|
|
|
i4 |
|
|
|
|
|
|
|
|
|
i8 |
|
|
|
|
|
|
|
|
|
int |
|
|
|
|
|
|
|
|
|
IntPtrb |
|
|
|
|
|
|
|
|
|
long |
|
|
|
|
|
|
|
||
n |
|
|
|
|
|
|
|
|
|
n. |
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
|
|
psize |
|
|
|
|
|
|
|
|
|
p. |
|
|
|
|
|
|
|
|
|
psize.precision |
|
|
|
|
|
|
|
|
|
sbyte |
|
|
|
|
|
|
|
|
|
short |
|
|
|
|
|
|
|
|
|
string |
|
|
|
|
|
|
|
||
ushort |
|
|
|
|
|
|
|
|
|
uint |
|
|
|
|
|
|
|
|
|
UIntPtrb |
|
|
|
|
|
|
|
|
|
ulong |
|
|
|
|
|
|
|
|
|
^VAL |
|
|
|
|
|
|
|
|
|
VOID |
|
|
|
|
|
|
|
|
|
@* |
|
|
|
|
|
|
|
||
@class |
|
|
|
|
|
|
|
||
@delegate |
|
|
|
|
|
|
|
|
|
@interface |
|
|
|
|
|
|
|
|
|
@type |
|
|
|
|
|
|
|
|
|
enumeration |
|
|
|
|
|
|
|
|
|
structure |
|
|
|
|
|
|
|
||
Tb |
|
|
|
|
|
|
|
|
|
[#,#]value |
|
|
|
|
|
|
|
||
[#,#]@value |
|
|
|
|
|
|
|
||
[#,#]@class |
|
|
|
|
|
|
|
||
[#,#]@* |
|
|
|
|
|
|
|
||
groupj |
|
|
|
|
|
|
|
|
|
a. On return value, size ignored.
b. Cannot be declared as an optional parameter.
c. For methods and properties only.
d. Not recommended for use with traditional Synergy.
f. Excluding methods that do not have the UNIQUE modifier.
h. Excluding structures that contain an object.
i. Cannot be declared as an optional parameter unless data type is a non-CLS structure.
j. Technically not a data type but can be declared as a field or passed as a parameter.