1. 程式人生 > >C# 反射常用幾個基本方法

C# 反射常用幾個基本方法

就我這點水平,怎麼敢說是技術文件呢,我就胡亂吹吹牛逼吧!

 

簡單說下何為反射:就是我以絕妙且快速的步伐(貌似凌波微步)走過了一條坎坷崎嶇的羊腸古道,而千里之外的你能用灰常牛逼的方式把我所走過的路、經過的樹以及蹂躪過的花花草草在地圖上標記出來(感覺怕不會被你尾隨了吧!)。

總之一句話:反射能夠獲取到你的所有屬性、狀態、方法以及引用。。。,可以說是灰常牛逼了吧

 

下面就說下幾個簡單的反射方法吧,正好也就是尊敬的泡哥框架裡用到的。說實話 剛開始著實讓我頭疼了一把,下面就寫下幾個常用方法的作用。至於程式碼嘛,朋友們 下次 下次好吧

 

  1. GetType()方法:說到這個不得不提下typeof()

它的作用和typeof相同,返回type型別的當前物件型別。Typeof(x)中的x必須是具體的類名、型別名稱,不可以是變數名稱。GetType是基類System.object的方法,因此只有建立一個例項之後才能夠被呼叫。GetType()返回的是class例項的type

  1. GetFields()方法:返回當前Type的所有公共欄位

要注意引用明明空間哦 using System.Reflection;

  1. FieldType()方法:返回欄位的型別
  2. GetValue()方法:哎呀 舉個梨子吧 ,來行程式碼壓壓驚

var o = f.GetValue(view) as Button; // 咳咳,解釋下哈。F為FieldInfo[]一個元素。View為要獲得屬性值的一個物件。

還是概括下吧:獲取view物件的f欄位的值作為一個Button返回給o。真的很希望大家能夠我意思。嘿嘿

  1. GetMembers()方法:這個嘛,看臉就知道嘍。返回當前type的方法

 

瞄了下我左手腕上的隱形鑲鑽大金錶,時間不早了,大家散了吧 散了吧哈。各回各家吧