The common type system defines how types are declared, used, and managed in the runtime, and is also an important part of the runtime's support for cross-language integration. The common type system performs the following functions:
- Establishes a framework that helps enable cross-language integration, type safety, and high performance code execution.
- Provides an object-oriented model that supports the complete implementation of many programming languages.
- Defines rules that languages must follow, which helps ensure that objects written in different languages can interact with each other.
In This Section
- Common Type System Overview
 Describes concepts and defines terms relating to the common type system.
- Type Definitions
 Describes user-defined types.
- Type Members
 Describes events, fields, nested types, methods, and properties, and concepts such as member overloading, overriding, and inheritance.
- Value Types
 Describes built-in and user-defined value types.
- Classes
 Describes the characteristics of common language runtime classes.
- Delegates
 Describes the delegate object, which is the managed alternative to unmanaged function pointers.
- Arrays
 Describes common language runtime array types.
- Interfaces
 Describes characteristics of interfaces and the restrictions on interfaces imposed by the common language runtime.
- Pointers
 Describes managed pointers, unmanaged pointers, and unmanaged function pointers.
Related Sections
- Class Library
 Provides a reference to the classes, interfaces, and value types included in the Microsoft .NET Framework SDK.
- Common Language Runtime
 Describes the run-time environment that manages the execution of code and provides application development services.