亚洲免费一级高潮_欧美极品白嫩视频在线_中国AV片在线播放_欧美亚洲日韩欧洲在线看

您現(xiàn)在所在的位置:首頁 >學(xué)習(xí)資源 > Unity游戲/VR/AR入門教材 > VR開發(fā)入門教程31:控制臺(tái)編程--反射

VR開發(fā)入門教程31:控制臺(tái)編程--反射

來源:奇酷教育 發(fā)表于:

反射的概念反射機(jī)制是使程序具有動(dòng)態(tài)特性的非常關(guān)鍵的一種機(jī)制。反射的作用:1、根據(jù)指定的類名,類字段名和所對(duì)應(yīng)的數(shù)據(jù),得到該類的實(shí)例

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