O'Reilly logo

C# in a Nutshell by Peter Drayton, Ted Neward, Ben Albahari

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Retrieving a Type Directly

You can also retrieve a Type class by name (without needing an instance) using the static method GetType on the Type class. When specifying which type to retrieve, you can provide either the namespace-qualified name of the type, or the assembly-qualified name, as follows:

Type t = Type.GetType("System.Int32");
Type t2 = Type.GetType("MyNamespace.MyType, MyAssembly);

In the case in which you provide only the namespace-qualified name, GetType looks first in the calling assembly, and then in mscorlib.dll.

Finally, C# provides the typeof operator, which returns the Type class for any type known at compile time:

Type t = typeof(System.Int32);

The main difference between these two approaches is that Type.GetType is evaluated at runtime and thus is more dynamic, binding to a type in an assembly by name; while the typeof operator is evaluated at compile time and thus is slightly faster, binding to a type in a specific assembly version via a type token.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required