溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#元數(shù)據(jù)怎么用

發(fā)布時(shí)間:2021-12-01 09:52:02 來(lái)源:億速云 閱讀:321 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)C#元數(shù)據(jù)怎么用,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

C#元數(shù)據(jù)

盡管元數(shù)據(jù)用于描述和引用由VOS類(lèi)型系統(tǒng)定義的類(lèi)型,但它還不能鎖定到這個(gè)單個(gè)目標(biāo)。當(dāng)你寫(xiě)一個(gè)程序時(shí),通過(guò)利用類(lèi)型聲明,你所聲明的類(lèi)型(假定它們是數(shù)值類(lèi)型或引用類(lèi)型)被介紹給NGWS runtime類(lèi)型系統(tǒng)。類(lèi)型聲明在存于PE可執(zhí)行文件內(nèi)部的元數(shù)據(jù)中得到描述。

基本上,C#元數(shù)據(jù)用于各項(xiàng)任務(wù):用于表示NGWS runtime用途的信息,如定位和裝載類(lèi)、 內(nèi)存中這些類(lèi)的事例、解決調(diào)用 、翻譯IL為原始碼、加強(qiáng)安全并設(shè)置運(yùn)行時(shí)上下文邊界。

你不必關(guān)心C#元數(shù)據(jù)的生成。元數(shù)據(jù)是由C#的"代碼轉(zhuǎn)IL編譯器"(code-to-IL compiler,不是JIT編譯器)生成的。代碼轉(zhuǎn)IL編譯器發(fā)送二進(jìn)制元數(shù)據(jù)信息給PE文件,是以標(biāo)準(zhǔn)的方式發(fā)送的,不象C++編譯器那樣,為出口函數(shù)創(chuàng)建它們自己的修飾名字。

你從C#元數(shù)據(jù)和可執(zhí)行代碼并存所獲得的主要優(yōu)勢(shì)為,有關(guān)類(lèi)型的信息同類(lèi)型自身固定在一起,不會(huì)遍布很多地方。同樣有助于解決存在于COM中的版本問(wèn)題。進(jìn)一步地,你可以在相同的上下文中使用不同的版本庫(kù),因?yàn)閹?kù)不僅被注冊(cè)表引用,也被包含在可執(zhí)行代碼中的元數(shù)據(jù)引用。

通用語(yǔ)言規(guī)范

通用語(yǔ)言規(guī)范(CLS)并不是虛擬對(duì)象系統(tǒng)(VOS)真正的一部分,它是特殊的。CLS定義了VOS中的一個(gè)類(lèi)型子集,也定義了必須符合CLS的常規(guī)用法。

那么,對(duì)此有什么迷惑呢?如果一個(gè)類(lèi)庫(kù)遵守CLS規(guī)則,其它編程語(yǔ)言同樣也遵守CLS規(guī)則,那么其它編程語(yǔ)言的客戶也可以使用類(lèi)庫(kù)。CLS是關(guān)于語(yǔ)言的交互可操作性(interoperability)。因此,常規(guī)用法必須僅遵循外部可訪問(wèn)項(xiàng)目 (externally visible items)如方法、屬性和事件等等。

我所描述的優(yōu)點(diǎn)是你可以做以下工作。用C#寫(xiě)一個(gè)組件,在VB中派生它,因加在VB中的功能是如此之強(qiáng)大,在C#中再次從VB類(lèi)派生它。只要所有的外部可訪問(wèn)項(xiàng)遵守CLS規(guī)則,這樣是可行的。

我在這本書(shū)中出示的代碼不關(guān)心CLS協(xié)定。但在構(gòu)建你的類(lèi)庫(kù)時(shí)要注意到CLS協(xié)定。我提供了表2.1,用以給類(lèi)型和外部

關(guān)于“C#元數(shù)據(jù)怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI