您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關C#元數據怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
C#元數據
盡管元數據用于描述和引用由VOS類型系統定義的類型,但它還不能鎖定到這個單個目標。當你寫一個程序時,通過利用類型聲明,你所聲明的類型(假定它們是數值類型或引用類型)被介紹給NGWS runtime類型系統。類型聲明在存于PE可執行文件內部的元數據中得到描述。
基本上,C#元數據用于各項任務:用于表示NGWS runtime用途的信息,如定位和裝載類、 內存中這些類的事例、解決調用 、翻譯IL為原始碼、加強安全并設置運行時上下文邊界。
你不必關心C#元數據的生成。元數據是由C#的"代碼轉IL編譯器"(code-to-IL compiler,不是JIT編譯器)生成的。代碼轉IL編譯器發送二進制元數據信息給PE文件,是以標準的方式發送的,不象C++編譯器那樣,為出口函數創建它們自己的修飾名字。
你從C#元數據和可執行代碼并存所獲得的主要優勢為,有關類型的信息同類型自身固定在一起,不會遍布很多地方。同樣有助于解決存在于COM中的版本問題。進一步地,你可以在相同的上下文中使用不同的版本庫,因為庫不僅被注冊表引用,也被包含在可執行代碼中的元數據引用。
通用語言規范
通用語言規范(CLS)并不是虛擬對象系統(VOS)真正的一部分,它是特殊的。CLS定義了VOS中的一個類型子集,也定義了必須符合CLS的常規用法。
那么,對此有什么迷惑呢?如果一個類庫遵守CLS規則,其它編程語言同樣也遵守CLS規則,那么其它編程語言的客戶也可以使用類庫。CLS是關于語言的交互可操作性(interoperability)。因此,常規用法必須僅遵循外部可訪問項目 (externally visible items)如方法、屬性和事件等等。
我所描述的優點是你可以做以下工作。用C#寫一個組件,在VB中派生它,因加在VB中的功能是如此之強大,在C#中再次從VB類派生它。只要所有的外部可訪問項遵守CLS規則,這樣是可行的。
我在這本書中出示的代碼不關心CLS協定。但在構建你的類庫時要注意到CLS協定。我提供了表2.1,用以給類型和外部
關于“C#元數據怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。