C#中的Type.GetTypeHandle()方法

C#中的Type.GetTypeHandle()方法用于获取指定对象的Type的句柄。

语法

以下是语法-

public static RuntimeTypeHandle GetTypeHandle (object ob);

在上面,ob是要为其获取类型句柄的对象。

示例

using System;
public class Demo {
   public static void Main(){
      Type type1 = typeof(System.Type);
      RuntimeTypeHandle typeHandle = Type.GetTypeHandle(type1);
      Type type = Type.GetTypeFromHandle(typeHandle);
      Console.WriteLine("Attributes = " + type.Attributes);
      Console.WriteLine("Type Referenced = "+ type);
   }
}

输出结果

这将产生以下输出-

Attributes = AutoLayout, AnsiClass, Class, Serializable, BeforeFieldInit
Type Referenced = System.RuntimeType

示例

现在让我们来看另一个实现Type.GetTypeHandle()方法的示例-

using System;
public class Demo {
   public static void Main(){
      Type type1 = typeof(double);
      RuntimeTypeHandle typeHandle = Type.GetTypeHandle(type1);
      Type type = Type.GetTypeFromHandle(typeHandle);
      Console.WriteLine("Attributes = " + type.Attributes);
      Console.WriteLine("Type Referenced = "+ type);
   }
}

输出结果

这将产生以下输出-

Attributes = AutoLayout, AnsiClass, Class, Serializable, BeforeFieldInit
Type Referenced = System.RuntimeType