Product Information > JADE External Interface Developer’s Reference > Chapter 4 - Using External Component Libraries > Data Types

Data Types

Only .NET classes can be mapped to JADE objects. These classes can be a reference or value type (for example, a C# ‘class’ or ‘struct’, or a C++ ‘ref class’ or ‘value class’). Nullable .NET primitive types are mapped to the same JADE type as the non-nullable version of the type.

If a class is imported that does not have a definition in the assembly being imported, the class is mapped to the JadeDotNetType class.

The following table lists .NET types and the corresponding JADE types.

.NET Type JADE Type Conversion Notes
Boolean Boolean  
Byte, SByte Binary[1]  
Char StringUtf8[1]  
DateTime Timestamp  
Decimal Decimal A .NET decimal variable can hold larger and smaller values than a JADE Decimal variable. An overflow exception is raised if a .NET decimal value is too large or too small for a JADE Decimal variable.
Double, Single Real A JADE Real variable can hold larger and smaller values than a .NET Single variable. An overflow exception is raised if a JADE Real value is too large or too small for a .NET Single variable.
Int16, Int32, UInt16, UInt32 Integer A JADE Integer variable corresponds to a .NET Int32 variable. .NET Uint32 numbers are also mapped to JADE Integers, but if such a UInt32 contains a large number (top bit is set), JADE interprets this as a negative number. Similarly, a negative Integer becomes a large positive UInt32 .NET value.
Int64,UInt64 Integer64 See Integer to UInt32 conversion notes, in the previous row of this table.
Object Object .NET object types are represented in JADE as an ‘imported assembly’ class. If JADE does not have a class to represent a particular .NET object, an instance of JadeDotNetType is used. Arrays of any type are also created as instances of JadeDotNetType.
String StringUtf8