GetType() 是 C# 中的一个方法,用于获取一个对象的类型信息。当你对一个对象调用 GetType() 方法时,它会返回一个 Type 类型的对象,该对象包含了关于该对象的类型信息。Type 类提供了许多属性和方法,可以用来获取有关类型的详细信息。以下是一些常用的 Type 属性:
Name:返回类型的名称,包括命名空间和程序集信息。例如,typeof(int).Name 将返回 "int"。FullName:返回类型的完整名称,包括命名空间和程序集信息。例如,typeof(int).FullName 将返回 "System.Int32"。IsArray:如果类型是一个数组,则返回 true,否则返回 false。IsClass:如果类型是一个类,则返回 true,否则返回 false。IsInterface:如果类型是一个接口,则返回 true,否则返回 false。IsValueType:如果类型是一个值类型(如结构体、枚举等),则返回 true,否则返回 false。IsAbstract:如果类型是抽象的,则返回 true,否则返回 false。IsSealed:如果类型是密封的,则返回 true,否则返回 false。IsNested:如果类型是嵌套的(即定义在另一个类型内部的类型),则返回 true,否则返回 false。IsGenericTypeDefinition:如果类型是一个泛型类型定义(即没有指定具体类型的泛型类型),则返回 true,否则返回 false。IsGenericParameter:如果类型是一个泛型参数,则返回 true,否则返回 false。IsGenericType:如果类型是一个泛型类型(即指定了具体类型的泛型类型),则返回 true,否则返回 false。IsDefined(Type attributeType, bool inherit):检查指定类型是否定义了指定的属性或事件。GetCustomAttribute<T>(bool inherit) 和 GetCustomAttributes<T>(bool inherit):获取指定类型的自定义属性。GetInterfaces():获取类型实现的所有接口。GetMethods():获取类型的所有方法(包括继承的方法)。GetProperties():获取类型的所有属性(包括继承的属性)。GetFields():获取类型的所有字段(包括继承的字段)。BaseType:获取类型的基类。DeclaringType:获取声明类型的类型(即定义类型的类型)。这些属性和方法可以帮助你获取对象的类型信息,以便在运行时执行不同类型的操作。