( 聲明:本系列只想給大家介紹.net框架,并不是語法和類的使用的講解,所以只能概括的描述一下所提到的類,如果有疑問可以到MSDN上面去查 )
這篇文章我們來學習System.Reflection,.net中反射的核心類.先來看圖:
前面的文章,我們說過.net的元數據可以完整地描述類型,那么通過System.Reflection,可以在運行時發現類型格式,我們來看一下元數據:
源代碼:















元數據,請看代碼注釋















































我們看到在元數據種非常詳細的定義了一個類中的任何成員,還包括了程序集所引用的其他程序集的信息















OK,了解了元數據,我們現在來看看上面圖中,那些類的基本功能,.NetFrameWork庫類的層次程序集包含模塊,模塊包含類型,類型又包含成員(方法,屬性,字段,事件等)。
1.Assembly:主要是加載和操縱一個程序集.
2.ParameterInfo:該類保存給定參數的信息,也就是說方法的參數,可以用該類來操作.
3.Module:訪問帶有多文件程序集的給定模塊,可以認為就是命名空間.
4.MemberInfo:該類是抽象基類,為他的子類定義了公共的行為.如MemberTypes,MemberName等.而他的子類則分別是方法,屬性,字段,事件等信息的具體實現.
那么這些類如何來完成類型的反射呢?








事件和屬性的反射調用,同上述代碼差不多,不再贅述.上面的代碼中我們使用了Type這個類型,這里做一下簡單的介紹
System.Type定義了大量的成員,可以用來檢查一個類型的元數據,如GetMethod,GetFields等方法,基本上一個類型的所有信息都可以得到,很好很強大.呵呵.
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
