The typeof operator is used to obtain the System.Type object for a type. typeof-expression : typeof(type)typeof(void) The first form of typeof-expression consists of a typeof keyword followed by a parenthesized type. The result of an expression of this form is the System.Type object for the indicated type. There is only one System.Type object for any given type. [Note: This means that for type T, typeof(T) == typeof(T) is always true. end note] The second form of typeof-expression consists of a typeof keyword followed by a parenthesized void keyword. The result of an expression of this form is the System.Type object that represents the absence of a type. The type object returned by typeof(void) is distinct from the type object returned for any type. [Note: This special type object is useful in class libraries that allow reflection onto methods in the language, where those methods wish to have a way to represent the return type of any method, including void methods, with an instance of System.Type. end note] [Example: The example produces the following output: Note that int and System.Int32 are the same type. end example]