DekGenius.com
[ Team LiB ] Previous Section Next Section

13.4 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.

    [ Team LiB ] Previous Section Next Section