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.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access