真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C#的反射機(jī)制是什么

本篇內(nèi)容介紹了“C#的反射機(jī)制是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

城中網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,城中網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為城中上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的城中做網(wǎng)站的公司定做!

屬性定制是.NET提供的一個(gè)非常棒的新特性之一,屬性對(duì)于所有的編程語(yǔ)言都是一種通用的結(jié)構(gòu)。舉個(gè)例子,一個(gè)函數(shù)用于標(biāo)識(shí)可訪問權(quán)限的 public,private,或者protect標(biāo)志就是這個(gè)函數(shù)的一個(gè)屬性。屬性定制之所以如此讓人興奮,那是因?yàn)榫幊倘藛T將不再只能從語(yǔ)言本身提供的有限的屬性集中選擇。一個(gè)定制的屬性其實(shí)也是一個(gè)類,它從System。Attribute繼承,它的代碼被允許是自我描述的。屬性定制可以應(yīng)用于絕大多數(shù)結(jié)構(gòu)中,包括C#里面的類,方法,事件,域和屬性等等。示例代碼片斷定義了兩個(gè)定制的屬性:PlugDisplayNameAttribute和 PlugDescriptionAttribute,所有的插件內(nèi)部的類必須支持這兩個(gè)屬性。列表二是用于定義 PlugDisplayNameAttribute的類。這個(gè)屬性用于顯示插件節(jié)點(diǎn)的內(nèi)容。在程序運(yùn)行的時(shí)候,主程序?qū)⒖梢岳梅瓷?reflection)來取得屬性值。

主程序必須能夠加載插件,然后和這些插件進(jìn)行通信,這樣才能實(shí)現(xiàn)我們的設(shè)計(jì)。所有這些的實(shí)現(xiàn)可以有很多不同的方法,僅取決于開發(fā)者選擇的語(yǔ)言和平臺(tái)。如果選擇的是C#和.NET,那么反射機(jī)制可以用來加載插件,并且其接口和抽象類可以用于和插件通信。

反射(Reflection)

在一個(gè)插件定義好之后,下一步要做的就是查看主程序是怎么加載插件的。為了實(shí)現(xiàn)這個(gè)目標(biāo),主程序使用了C#反射機(jī)制。反射是.NET中用于運(yùn)行時(shí)查看類型信息的。在C#反射機(jī)制的幫助下,類型信息將被加載和查看。這樣就可以通過檢查這個(gè)類型以判斷插件是否有效。如果類型通過了檢查,那么插件就可以被添加到主程序的界面中,就可以被用戶操作。

示例程序使用了.NET框架的三個(gè)內(nèi)置類來使用反射:System。Reflection。Assembly,System。Type,和System。Activator。

System。Reflection。Assembly類描述了.NET的程序集。在.NET中,程序集是配置單元。對(duì)于一個(gè)典型的Windows程序,程序集被配置為單一的Win32可執(zhí)行文件,并且?guī)в刑囟ǖ母郊有畔?,使之適應(yīng).NET運(yùn)行環(huán)境。程序集也可以配置為Win32的DLL(動(dòng)態(tài)鏈接庫(kù)),同樣需要帶有.NET需要的附加信息。System。Reflection。Assembly類可以在運(yùn)行的時(shí)候取得程序集的信息。這些信息包括程序集包含的類型信息。

System。Type類描述了類型定義。一個(gè)類型聲明可以是一個(gè)類,接口,數(shù)組,結(jié)構(gòu)體,或者枚舉。在加載了一個(gè)類之后,System。Type類可以被用于枚舉該類支持的方法,屬性,事件和接口。

System。Activator類用于創(chuàng)建一個(gè)類的實(shí)例。

“C#的反射機(jī)制是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


名稱欄目:C#的反射機(jī)制是什么
網(wǎng)頁(yè)地址:http://weahome.cn/article/jdojoj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部