System.Reflection
是.NET框架中的一個重要命名空間,它提供了在運行時檢查類型、獲取類型信息以及創建類型的實例等功能。以下是一些System.Reflection
中常用的類和方法:
常用類
- Type:表示一個類型,可以用來獲取類型的元數據信息,如名稱、基類、接口、構造函數、方法、字段等。
- MemberInfo:這是一個基類,表示程序集中的成員,如類型、方法、字段、屬性等。
Type
類就是繼承自MemberInfo
的。
- FieldInfo:表示一個字段,可以用來獲取或設置字段的值,以及獲取字段的其他元數據信息。
- MethodInfo:表示一個方法,可以用來獲取方法的參數、返回值、修飾符等信息,以及調用該方法。
- PropertyInfo:表示一個屬性,可以用來獲取或設置屬性的值,以及獲取屬性的其他元數據信息。
- EventInfo:表示一個事件,可以用來訂閱或取消訂閱事件處理器。
- ConstructorInfo:表示一個構造函數,可以用來創建類型的實例。
- ParameterInfo:表示一個方法參數,可以用來獲取參數的名稱、類型等信息。
常用方法
- Type.GetTypes():獲取當前類型的所有類型定義。
- Type.GetMethods():獲取當前類型的所有公共實例方法(包括繼承的方法)。
- Type.GetFields():獲取當前類型的所有公共字段。
- Type.GetProperties():獲取當前類型的所有公共屬性。
- Type.GetEvent():獲取當前類型的事件。
- Type.GetConstructor():獲取當前類型的指定參數類型的構造函數。
- Type.GetField():獲取當前類型的指定名稱的字段。
- Type.GetProperty():獲取當前類型的指定名稱的屬性。
- Type.GetEventInfo():獲取當前類型的事件信息。
- Type.GetConstructorInfo():獲取當前類型的構造函數信息。
- Type.GetParameterInfo():獲取當前類型的方法的參數信息。
- MemberInfo.Name:獲取成員的名稱。
- FieldInfo.GetValue():獲取字段的值。
- FieldInfo.SetValue():設置字段的值。
- MethodInfo.Invoke():調用方法。
- PropertyInfo.GetValue():獲取屬性的值。
- PropertyInfo.SetValue():設置屬性的值。
- EventInfo.AddEventHandler():訂閱事件。
- EventInfo.RemoveEventHandler():取消訂閱事件。
以上只是System.Reflection
中常用的一部分類和方法,實際上這個命名空間提供了非常豐富的功能,可以用來在運行時動態地獲取和處理類型信息。