• <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>

            反射的特性是經常會使用到的

            【 某網友討論道: 】
            : RT,反射的特性發現很少用啊



            恰恰相反,有些反射的特性是經常會被使用到的。

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

            自省的能力極為重要,而且幾乎會天天用到,很少見到過哪個.net應用中不使用attribute的,而attribute特性就是metadata通過在自省能力支撐下實現的;當然自省不單單是attribute特性的運用,只要是在運行時動態檢視程序自身的特性都要由反射的自省能力來支持,比如Visual Studio的IDE(這個集成開發環境本身就是.net應用的好案例)對于.net組件的自動探測功能;同時,自省的能力也是基于虛擬機平臺的語言,比如c#和java,區別于傳統語言比如c和c++的重要特性之一,這提供了程序設計開發更為便利和安全的運行時環境;相對而言,在c++(當然是native而不是managed)的環境下,除了RTTI極為單薄的運行時自省,也就是QT這個庫通過meta-object system部分模擬了自省的特性;

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

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

            所以,反射,可能是虛擬機平臺所提供的相對最為強勁,最為復雜,和平臺運行時本身關系最密切,也是區別于傳統語言和運行時最鮮明的特性。

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

            評論

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

            好!  回復  更多評論   

            <2025年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            導航

            統計

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久人与动人物a级毛片| 精品熟女少妇AV免费久久| 亚洲国产另类久久久精品小说 | 久久精品国产一区二区三区日韩| 久久人妻少妇嫩草AV无码专区| 99久久成人18免费网站| 久久精品国产亚洲AV蜜臀色欲| 亚洲精品无码久久千人斩| 成人久久综合网| 99久久国产亚洲综合精品| 久久精品国产精品青草| 久久久这里有精品中文字幕| 国产成人久久精品激情| 亚洲国产欧洲综合997久久| 久久综合九色综合久99 | 一本久久a久久精品vr综合| 91精品国产91久久久久久| 日产久久强奸免费的看| 久久高清一级毛片| 亚洲精品国产成人99久久| 内射无码专区久久亚洲| 久久本道伊人久久| 777午夜精品久久av蜜臀| 欧美午夜精品久久久久久浪潮| 久久婷婷成人综合色综合| 中文字幕日本人妻久久久免费 | 亚洲第一永久AV网站久久精品男人的天堂AV | 久久久综合九色合综国产| 久久久无码精品亚洲日韩按摩| 久久精品国产精品亚洲| 久久人妻少妇嫩草AV无码蜜桃| 色欲久久久天天天综合网精品| 欧美日韩中文字幕久久久不卡| 精品综合久久久久久97超人| 亚洲色大成网站WWW久久九九| 污污内射久久一区二区欧美日韩 | 一本色道久久88综合日韩精品| 亚洲国产小视频精品久久久三级 | 亚洲精品乱码久久久久久久久久久久 | 久久精品国产网红主播| 亚洲精品乱码久久久久久蜜桃图片|