欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
什么是CTS、CLS和CLR_爛筆頭
2008-12-17 09:31
CTS、CLS和CLR是.NET框架的基本概念,但往往成為程序員們忽視的部分。清楚理解三者的概念,有助于.NET程序員編寫(xiě)高效安全的.NET程序。
所涉及到的知識點(diǎn)
•   .NET的基本概念
•   CLS、CTS和常用語(yǔ)言的關(guān)系
分析問(wèn)題
   CLR的全稱(chēng)是公共語(yǔ)言運行庫(Common Language Runtime),讀者可以把CLR理解為一個(gè)包含運行.NET程序的引擎和一堆符合公共語(yǔ)言基礎結構的類(lèi)庫的集合。CLR是一個(gè)規范的實(shí)現,我們開(kāi)發(fā)的 幾乎所有的.NET程序都基于CLR的類(lèi)庫來(lái)實(shí)現,并且運行在CLR提供的運行引擎之上。所謂.NET框架,指的就是公共語(yǔ)言運行庫。
公共語(yǔ)言基礎(CLI)是微軟公司向ECMA提交的一份語(yǔ)言和數據格式規范,CLR是目前為止唯一一個(gè)公共語(yǔ)言基礎的實(shí)現版本。
CTS 的全稱(chēng)是通用類(lèi)型系統(Common Type System)。前文已經(jīng)介紹了公共語(yǔ)言基礎(CLI)的概念,微軟公司提交的CLI規范,包括了公共類(lèi)型系統(CTS)、公共中間語(yǔ)言(CIL)、底部 文件格式以及元數據格式等。公共類(lèi)型系統定義了一個(gè)能夠在CLR上運行的語(yǔ)言規范。盡管有很多語(yǔ)言本身不符合CTS規范,但是通過(guò)加強編譯器,改變語(yǔ)言附 加規范等手段,使得許多語(yǔ)言能夠編寫(xiě)出能在CLR上運行的程序。
一種語(yǔ)言編寫(xiě)的程序編譯能夠在CLR上運行,并不代表這種語(yǔ)言本身完全符合CTS的規范。例如C++語(yǔ)言,仍然保持了其不符合CTS規范的部分,并且在編譯時(shí)把這部分不符合CTS的代碼編譯成原始代碼而非中間代碼。
最后來(lái)看一下CLS的概念。公共語(yǔ)言規范(CLS)是CTS的一個(gè)子集,它定義了希望編寫(xiě)在.NET平臺上運行的程序的語(yǔ)言所需符合的最小規范。正因為.NET允許由不同語(yǔ)言編寫(xiě)的程序一起執行,所以才制定出CLS規范,用以避免不同語(yǔ)言特性產(chǎn)生的錯誤。
為了更直觀(guān)地理解CLS,來(lái)看這段C#代碼:
代碼2-1 CLS規范:CLS.cs
using System;
using System.Collections.Generic;
using System.Text;
//申明C符合CLS規范
[assembly: CLSCompliantAttribute(true)]
namespace NET.MST.Second
{
    public class CLS
    {
        private uint i; //這是一個(gè)私有成員,所以不違反CLS規范
        public CLS()
        {
            i=0;
        }
        static void Main(string[] args)
        {
        }
        //這里不符合CLS規范,uint在CLS中沒(méi)有定義
        public uint GetI()
        {
            return i;
        }
    }
}
在 代碼2-1中,程序通過(guò)CLSCompliantAttribute特性來(lái)申明CLS類(lèi)型需要符合CLS規范。C#中的uint類(lèi)型在CLS中沒(méi)有對應的 類(lèi)型,所以uint是不符合CLS的語(yǔ)言部分。在CLS類(lèi)的一開(kāi)始,程序定義了一個(gè)uint類(lèi)型的私有成員變量i,這里并沒(méi)有造成CLS類(lèi)不符合CLS規 范,因為私有變量只對類(lèi)內部可見(jiàn)。而之后程序定義了一個(gè)返回uint類(lèi)型的公共方法,這里造成了整個(gè)CLS類(lèi)型不符合CLS規范。編譯這段代碼,會(huì )得到以 下警告:
C:\David\NET MST\第章\CLS.cs(23,21): warning CS3002: Return type of 'NET.MST.Second.CLS.GetI()' is not CLS-compliant
現在,讀者已經(jīng)理解了CLS和CTS的關(guān)系
答案
公共語(yǔ)言運行庫(CLR)是一個(gè)CLI的實(shí)現,包含了.NET運行引擎和符合CLI的類(lèi)庫。
通用類(lèi)型系統(CTS)包含在微軟公司提交的CLI規范中,定義了一個(gè)可以在CLR上運行的類(lèi)型規范。
公共語(yǔ)言規范是CTS的一個(gè)子集,定義了所有面向.NET的程序需要符合的最小規范集。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
[你必須知道的.NET] 第七回:品味類(lèi)型---從通用類(lèi)型系統開(kāi)始
C++/CLI簡(jiǎn)介(什么是C++/CLI) -------C++/CLI 編程系列一 - ...
.Net Framework
全面認識.NET框架(一)
CLR VIA C#之旅(1):品味細節,CLR的執行模型
C#學(xué)習筆記(一)——軟件構建與.NET平臺
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久