VR開發入門教程31:控制臺編程--反射
來源:
奇酷教育 發表于:
反射的概念反射機制是使程序具有動態特性的非常關鍵的一種機制。反射的作用:1、根據指定的類名,類字段名和所對應的數據,得到該類的實例
反射的概念
反射機制是使程序具有動態特性的非常關鍵的一種機制。
反射的作用:
1、根據指定的類名,類字段名和所對應的數據,得到該類的實例。
2、根據指定的裝箱對象 獲取其屬性值或者調用其方法
3、獲取未來會產生的程序集 并使用其中的類
總結一下就是讓我們可以于運行時加載、探知、使用編譯期間完全未知的classes。換句話說,程序可以加載一個運行時才得知名稱的class,獲悉其完整構造(但不包括methods定義),并生成其對象實體、或對其fields設值、或喚起其methods1。
反射需要用到的類
反射用到的命名空間:
System.Reflection
System.Type
System.Reflection.Assembly
(1)使用Assembly定義和加載程序集,加載在程序集清單中列出模塊,以及從此程序集中查找類型并創建該類型的實例。
(2)使用Type這個類可以訪問任何給定數據類型的信息。
(3)使用ConstructorInfo 了解構造函數的名稱、參數、訪問修飾符(如pulic 或private)和實現詳細信息(如abstract或virtual)等。
(4)使用MethodInfo了解方法的名稱、返回類型、參數、訪問修飾符(如pulic 或private)和實現詳細信息(如abstract或virtual)等。
(5)使用FiedInfo了解字段的名稱、訪問修飾符(如public或private)和實現詳細信息(如static)等,并獲取或設置字段值。
(6)使用PropertyInfo了解屬性的名稱、數據類型、聲明類型、反射類型和只讀或可寫狀態等,獲取或設置屬性值。
System.Type類:
System.Type 類對于反射起著核心的作用。但它是一個抽象的基類,Type有與每種數據類型對應的派生類,我們使用這個派生類的對象的方法、字段、屬性來查找有關該類型的所有信息。
獲取給定類型的Type引用有3種常用方式:
●使用 C# typeof 運算符。已知類型
Type t = typeof(string);
●使用對象GetType()方法。 已知對象
string s = "grayworm";
Type t = s.GetType();
●還可以調用Type類的靜態方法GetType()。已知類名
Type t = Type.GetType("System.String");