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
:獲取聲明類型的類型(即定義類型的類型)。這些屬性和方法可以幫助你獲取對象的類型信息,以便在運行時執行不同類型的操作。