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.

Where Data Types Can Be Used

Data type

Class

Nonclass

.NET

field

parameter

return value

field

parameter

return value

field

parameter

return value

a

 

 

 

a*

 

 

 

asize

a

a

a

boolean

b

byte

b

d

 

 

 

d*

 

 

 

dsize

a

a

a

d.

 

 

 

dsize.precision

decimal

c

b

double

d

d

cd

d

d

cd

b

float

d

d

cd

d

d

cd

b

i

i*

 

 

 

i1

i2

i4

i8

e

int

b

IntPtrb

 

 

 

 

 

 

long

e

b

 

f

 

 

 

 

 

n.

 

 

 

 

 

 

 

p

 

 

 

 

 

 

psize

 

 

 

 

 

 

p.

 

 

 

 

 

 

psize.precision

 

 

 

 

 

 

sbyte

b

short

b

string

c

b

ushort

 

 

 

 

 

 

b

uint

 

 

 

 

 

 

b

UIntPtrb

 

 

 

 

 

 

ulong

 

 

 

 

 

 

b

^VAL

 

 

 

 

 

 

VOID

 

 

g

 

 

 

 

 

@*

c

b

@class

c

b

@delegate

 

 

 

 

 

 

b

@interface

 

 

 

 

 

 

b

@type

b

enumeration

b

structure

h

i

Tb

 

 

 

 

 

 

[#,#]value

c

 

i

[#,#]@value

c

 

i

[#,#]@class

c

 

b

[#,#]@*

c

 

b

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.

e. Not supported on 32‑bit.

f. Excluding methods that do not have the UNIQUE modifier.

g. For methods only.

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.