C# Type ClassUse Type from the System namespace. The Type class is returned by typeof and GetType.
This class describes data types. It stores type information in a variable, property or field. The Type class represents the program's metadata (its structure).
Background info. First, the Type class is found in the System namespace. You can use Type variables in the same way as other variables such as string or int.
Here we see you can assign Type variables to the result of a typeof expression. And methods receive a Type parameter as an argument.
Here A Type is returned by the typeof operator and the GetType method. We call method on the Type.
Program This shows that you can use Type variables and assign them to the result of evaluations of the type of operator.
Tip The Type variables are loaded onto the evaluation stack in the same way as other variables are.
C# program that uses Type variables
static void Main()
// Use type variables.
// ... Then pass the variables as an argument.
type1 = typeof(string);
type2 = "string"
type3 = typeof(Type);
static void Test(Type type)
// Print some properties of the Type formal parameter.
Type notes. In the C# language, the Type class is not used in the inheritance and class-based system. Instead, classes inherit from the Object type.
Type usage. The "Type" type is a representation of the metadata, which is data about the program. It can be seen as a sort of information about the program.
A summary. Type objects can be stored as fields and static fields. They can be passed as arguments and used as local variables. Some functions in C# receive Type arguments.