Type.GetTypeHandle Method
.NET Framework 4.5
Gets the handle for the Type of a specified object.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Parameters
- o
- Type: System.Object
The object for which to get the type handle.
| Exception | Condition |
|---|---|
| ArgumentNullException | o is null. |
The following example defines the class MyClass1, gets an instance of it, and retrieves the runtime handle of the object.
using System; using System.Reflection; public class MyClass1 { private int x=0; public int MyMethod() { return x; } } public class MyClass2 { public static void Main() { MyClass1 myClass1 = new MyClass1(); // Get the RuntimeTypeHandle from an object. RuntimeTypeHandle myRTHFromObject = Type.GetTypeHandle(myClass1); // Get the RuntimeTypeHandle from a type. RuntimeTypeHandle myRTHFromType = typeof(MyClass1).TypeHandle; Console.WriteLine("\nmyRTHFromObject.Value: {0}", myRTHFromObject.Value); Console.WriteLine("myRTHFromObject.GetType(): {0}", myRTHFromObject.GetType()); Console.WriteLine("Get the type back from the handle..."); Console.WriteLine("Type.GetTypeFromHandle(myRTHFromObject): {0}", Type.GetTypeFromHandle(myRTHFromObject)); Console.WriteLine("\nmyRTHFromObject.Equals(myRTHFromType): {0}", myRTHFromObject.Equals(myRTHFromType)); Console.WriteLine("\nmyRTHFromType.Value: {0}", myRTHFromType.Value); Console.WriteLine("myRTHFromType.GetType(): {0}", myRTHFromType.GetType()); Console.WriteLine("Get the type back from the handle..."); Console.WriteLine("Type.GetTypeFromHandle(myRTHFromType): {0}", Type.GetTypeFromHandle(myRTHFromType)); } } /* This code example produces output similar to the following: myRTHFromObject.Value: 799464 myRTHFromObject.GetType(): System.RuntimeTypeHandle Get the type back from the handle... Type.GetTypeFromHandle(myRTHFromObject): MyClass1 myRTHFromObject.Equals(myRTHFromType): True myRTHFromType.Value: 799464 myRTHFromType.GetType(): System.RuntimeTypeHandle Get the type back from the handle... Type.GetTypeFromHandle(myRTHFromType): MyClass1 */
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.