在C#中,GetType()
方法用于獲取一個對象的類型信息。當你對一個對象調用GetType()
方法時,它會返回一個表示該對象類型的Type
對象。通過這個Type
對象,你可以獲取到許多關于基類的信息,例如:
BaseType
屬性,你可以獲取一個類型的基類。例如,typeof(DerivedClass).BaseType
將返回typeof(BaseClass)
。public class BaseClass { }
public class DerivedClass : BaseClass { }
Type type = typeof(DerivedClass);
Console.WriteLine(type.BaseType); // 輸出:System.Object
Interfaces
屬性,你可以獲取一個類型實現的所有接口。例如,typeof(DerivedClass).Interfaces
將返回一個包含IDerivedInterface
的數組。public interface IDerivedInterface { }
public class DerivedClass : BaseClass, IDerivedInterface { }
Type type = typeof(DerivedClass);
Console.WriteLine(string.Join(", ", type.Interfaces)); // 輸出:System.IDerivedInterface
Properties
屬性,你可以獲取一個類型的所有公共屬性。例如,typeof(DerivedClass).Properties
將返回一個包含DerivedProperty
的數組。public class DerivedClass : BaseClass {
public int DerivedProperty { get; set; }
}
Type type = typeof(DerivedClass);
Console.WriteLine(string.Join(", ", type.Properties)); // 輸出:DerivedProperty
Methods
屬性,你可以獲取一個類型的所有公共方法。例如,typeof(DerivedClass).Methods
將返回一個包含DerivedMethod
的數組。public class DerivedClass : BaseClass {
public void DerivedMethod() { }
}
Type type = typeof(DerivedClass);
Console.WriteLine(string.Join(", ", type.Methods)); // 輸出:DerivedMethod
Fields
屬性,你可以獲取一個類型的所有公共字段。例如,typeof(DerivedClass).Fields
將返回一個包含DerivedField
的數組。public class DerivedClass : BaseClass {
public int DerivedField;
}
Type type = typeof(DerivedClass);
Console.WriteLine(string.Join(", ", type.Fields)); // 輸出:DerivedField
Constructors
屬性,你可以獲取一個類型的所有公共構造函數。例如,typeof(DerivedClass).Constructors
將返回一個包含DerivedConstructor
的數組。public class DerivedClass : BaseClass {
public DerivedClass() { }
}
Type type = typeof(DerivedClass);
Console.WriteLine(string.Join(", ", type.Constructors)); // 輸出:DerivedConstructor
通過這些屬性,你可以獲取一個類型的基類以及它實現的接口、屬性和方法等信息。