文章出處

1.CTS(Common Type System)通用類型系統

CTS不但實現了COM的變量兼容類型,而且還定義了通過用戶自定義類型的方式來進行類型擴展。任何以.NET平臺作為目標的語言必須建立它的數據類型與CTS的類型間的映射。所有.NET語言共享這一類型系統,實現它們之間無縫的互操作。該方案還提供了語言之間的繼承性。例如,用戶能夠在VB.NET中派生一個由C#編寫的類。我們可以將CTS 看成是所有.NET 語言的superset (union),而符合CTS 的各種不同的語言,其實都只是CTS 的subset (intersection)。這些語言所寫出來的程序,如果想要有最佳的相容性,以便互相調用(invoke) 或繼承,這些語言之間就必需取得一個共同的subset,有共同遵守的規范,這就是CLS 。

2.CLS(Common language Specification)通用語言規范

很顯然,編程語言的區別不僅僅在于類型。例如,一些語言支持多繼承性,一些語言支持無符號數據類型,一些語言支持運算符重載。用戶應認識到這一點,因此.NET通過定義公共語言規范(CLS:Common Language Specification),限制了由這些不同引發的互操作性問題。CLS制定了一種以.NET平臺為目標的語言所必須支持的最小特征,以及該語言與其他.NET語言之間實現互操作性所需要的完備特征。認識到這點很重要,這里討論的特征問題已不僅僅是語言間的簡單語法區別。例如,CLS并不去關心一種語言用什么關鍵字實現繼承,只是關心該語言如何支持繼承。CLS是CTS的一個子集。這就意味著一種語言特征可能符合CTS標準,但又超出CLS的范疇。例如:C#支持無符號數字類型,該特征能通過CTS的測試,但CLS卻僅僅識別符號數字類型。因此,如果用戶在一個組件中使用C#的無符號類型,就可能不能與不使用無符號類型的語言(如VB.NET)設計的.NET組件實現互操作。

3.CLR(Common Language Runtime)公共語言運行庫

簡單地說,CLR是CTS的實現,也就是說,CLR是應用程序的執行引擎和功能齊全的類庫,該類庫嚴格按照CTS規范實現。作為程序執行引擎,CLR負責安全地載入和運行用戶程序代碼,包括對不用對象的垃圾回收和安全檢查。在CLR監控之下運行的代碼,稱為托管代碼(managed code)。


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()