回覆列表
  • 1 # 各種顏色搭配

    .NET 公用語言規範,可以保證C#元件與其他語言元件間的互操作性.   .NET Framework將CLS定義為一組規則,所有.NET語言都應該遵循此規則才能建立與其他語言可互操作的應用程式,但要注意的是為了使各語言可以互操作,只能使用CLS所列出的功能物件,這些功能統稱為與CLS相容的功能。  例如:C#支援無符號數字型別,該特徵能透過CTS的測試,但CLS卻僅僅識別符號數字型別。因此,如果使用者在一個元件中使用C#的無符號型別,就可能不能與不使用無符號型別的語言(如VB.NET)設計的.NET元件實現互操作。這裡用的是“可能不”,而不是“不可能”,因為這一問題實際依賴於對non-CLS-compliant項的可見性。事實上,CLS規則只適用於或部分適用於那些與其他元件存在聯絡的元件中的型別。實際上,使用者能夠安全實現含私有元件的專案,而該元件使用了使用者所選擇使用的.NET語言的全部功能,且無需遵守CLS的規範。另一方面,如果使用者需要.NET語言的互操作性,那麼使用者的元件中的公共項必須完全符合CLS規範。  CLS公共語言規範  公共語言規範(Common Language Specification,CLS)和通用型別系統一起確保語言的互操作性。CLS是一個最低標準集,所有面向.NET的編譯器都必須支援它。因為IL是一種內涵非常豐富的語言,大多數編譯器的編寫人員有可能把給定的編譯器的功能限制為只支援IL和CLS提供的一部分特性。只要編譯器支援已在CLS重定義的內容,這就是很不錯的。  提示:編寫非CLS相容程式碼應該是完全可以接受的,只是在編寫了這種程式碼後,就不能保證編譯好的IL程式碼完全支援語言的互操作性。

  • 中秋節和大豐收的關聯?
  • 三十里以內沒有人的大坡裡,有一個深水潭,你路過時發現水中有人呼救,救還是不救?