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
:获取声明类型的类型(即定义类型的类型)。这些属性和方法可以帮助你获取对象的类型信息,以便在运行时执行不同类型的操作。