• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            反射的特性是經(jīng)常會使用到的

            【 某網(wǎng)友討論道: 】
            : RT,反射的特性發(fā)現(xiàn)很少用啊



            恰恰相反,有些反射的特性是經(jīng)常會被使用到的。

            反射總體上分成兩大特性,一是自省,二是發(fā)射;

            自省的能力極為重要,而且?guī)缀鯐焯煊玫剑苌僖姷竭^哪個.net應(yīng)用中不使用attribute的,而attribute特性就是metadata通過在自省能力支撐下實(shí)現(xiàn)的;當(dāng)然自省不單單是attribute特性的運(yùn)用,只要是在運(yùn)行時動態(tài)檢視程序自身的特性都要由反射的自省能力來支持,比如Visual Studio的IDE(這個集成開發(fā)環(huán)境本身就是.net應(yīng)用的好案例)對于.net組件的自動探測功能;同時,自省的能力也是基于虛擬機(jī)平臺的語言,比如c#和java,區(qū)別于傳統(tǒng)語言比如c和c++的重要特性之一,這提供了程序設(shè)計(jì)開發(fā)更為便利和安全的運(yùn)行時環(huán)境;相對而言,在c++(當(dāng)然是native而不是managed)的環(huán)境下,除了RTTI極為單薄的運(yùn)行時自省,也就是QT這個庫通過meta-object system部分模擬了自省的特性;

            反射的另外一個重要特性就是發(fā)射,它讓“程序可以寫程序”了,簡要的說就是在運(yùn)行時動態(tài)生成MSIL并加載運(yùn)行以及持久化動態(tài)生成的MSIL的能力;由這個特性的支持,讓原先一些程序設(shè)計(jì)和開發(fā)領(lǐng)域相對困難和繁瑣的工作,比如元編程meta programming,比如動態(tài)代理dynamic proxy,比如AOP中的基礎(chǔ)設(shè)施weaver的實(shí)現(xiàn),變得可能或相對易于實(shí)現(xiàn);反射的特性,也是基于虛擬機(jī)平臺CLR的支持,以metadata為基礎(chǔ)來實(shí)現(xiàn)的,所以這也是虛擬機(jī)平臺語言的特有優(yōu)勢,而在傳統(tǒng)語言平臺上,這是難以實(shí)現(xiàn)的;比如關(guān)于meta programming,c++就是通過模板特性實(shí)現(xiàn)的編譯期meta programming,這與虛擬機(jī)平臺上實(shí)現(xiàn)的運(yùn)行時meta programming還是有比較大的差距(比如前者如何保證生成的代碼的type-safe);

            以上這兩個特性,自省和發(fā)射,都有個共同點(diǎn),他們都是圍繞著metadata機(jī)制,并在虛擬機(jī)平臺運(yùn)行時環(huán)境CLR支持下實(shí)現(xiàn)的,前者是運(yùn)行時檢視相關(guān)的metadata,后者是運(yùn)行時動態(tài)生成相關(guān)的metadata和MSIL;從這點(diǎn)也就可以看出,要想深入理解這些特性,就需要研究metadata和MSIL的實(shí)現(xiàn),以及虛擬機(jī)運(yùn)行時環(huán)境的實(shí)現(xiàn)(在java平臺上,就是bytecode和JVM);

            所以,反射,可能是虛擬機(jī)平臺所提供的相對最為強(qiáng)勁,最為復(fù)雜,和平臺運(yùn)行時本身關(guān)系最密切,也是區(qū)別于傳統(tǒng)語言和運(yùn)行時最鮮明的特性。

            posted on 2011-02-12 17:21 flagman 閱讀(2152) 評論(1)  編輯 收藏 引用 所屬分類: .net/CLRC#

            評論

            # re: 反射的特性是經(jīng)常會使用到的 2011-02-12 19:25 gbb21

            好!  回復(fù)  更多評論   

            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久93精品国产91久久综合| 国产精品久久成人影院| 四虎国产精品成人免费久久| 伊人久久大香线蕉av不卡| 91精品国产9l久久久久| 日本精品一区二区久久久| 亚洲午夜久久久久久久久电影网| 91精品国产高清久久久久久国产嫩草| 亚洲一区精品伊人久久伊人| 久久精品www| 久久国产色AV免费观看| 亚洲欧美一区二区三区久久| 久久精品一区二区三区不卡| 热99RE久久精品这里都是精品免费| 久久棈精品久久久久久噜噜| 一本色道久久88综合日韩精品 | 亚洲人成电影网站久久| 色综合久久中文综合网| 色欲av伊人久久大香线蕉影院 | 国产精品无码久久四虎| 久久国产精品成人影院| 久久久久久久久久久精品尤物 | 国内精品九九久久精品| 欧美精品福利视频一区二区三区久久久精品 | 青青草原综合久久大伊人导航| 99久久超碰中文字幕伊人| 久久国产AVJUST麻豆| 日韩中文久久| 综合久久精品色| 精品伊人久久大线蕉色首页| 亚洲第一永久AV网站久久精品男人的天堂AV | 久久水蜜桃亚洲av无码精品麻豆| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 伊人久久大香线蕉精品| 日本精品久久久久中文字幕| 久久er国产精品免费观看2| 91久久婷婷国产综合精品青草| 欧洲成人午夜精品无码区久久| 日本人妻丰满熟妇久久久久久| 久久婷婷五月综合97色| 日韩精品久久久久久|