Datasheet
The CTS doesn’t merely specify primitive data types but a rich hierarchy of types, which includes well-
defined points in the hierarchy at which code is permitted to define its own types. The hierarchical struc-
ture of the Common Type System reflects the single-inheritance object-oriented methodology of IL, and
resembles Figure 1-1.
Figure 1-1
The following table explains the types shown in Figure 1-1.
Type Meaning
Type Base class that represents any type.
Value Type Base class that represents any value type.
Reference Types Any data types that are accessed through a reference and stored
on the heap.
Built-in Value Types Includes most of the standard primitive types, which represent
numbers, Boolean values, or characters.
Enumerations Sets of enumerated values.
User-defined Value Types Types that have been defined in source code and are stored as
value types. In C# terms, this means any struct.
Interface Types Interfaces.
Pointer Types Pointers.
Table continued on following page
Built in Value
Types
User-defined
Value Types
Value Type
Pointer Types
Type
Reference
Type
Enumerations
Interface Types
Self-describing
Types
Arrays
Class Types
User-defined
Reference
Types
Delegates
Boxed Value
Types
11
.NET Architecture
05_575341 ch01.qxd 10/4/05 7:03 PM Page 11