2013-03-02 71 views
4

我對.NET Framework中的CLS(通用語言規範)的用途感到困惑。.NET框架中CLS的用途是什麼?

我的理解是,使用.NET,我們可以使用一種語言編寫一個庫,並以另一種語言使用它,並且CLR啓用該功能。我知道CLS的目的是與其他對象完全交互,而不管其實施語言如何。

什麼是CLS;它的目的是什麼?

+2

downvote可能來自某人不清楚你在問什麼。 – codekaizen 2013-03-02 18:35:26

回答

6

CLS是面向組件開發人員以及編譯器編寫者的指南。它指定了什麼是允許的,什麼是不允許的,以便生成組件,並且構建對語言的支持,使得它們是可移植的 - 並且完全兼容以便可以在所有可運行的CLS兼容的語言中使用/交互CLR

儘管CLR具有由實現公開並強制執行的規範。 CLS只是一個指引。您仍然可以編寫打破CLS的組件,但在CLR中可以正常工作。但在這種情況下,它們可能不能與某些語言進行互操作。

顯然,CLS對於編譯器編寫者和語言設計者非常重要。但即使作爲組件開發人員,如果您正在努力實現全面的互操作性,保持在CLS的範圍內也很重要。

1

我想與.net我們可以寫一個庫的語言,在另一種語言使用它,這樣做有CLR的,什麼是CLS 究竟什麼是它的目的?

雖然這種語言集成是太棒了,事實是,編程語言有很大的不同,因此,爲了幫助您完成此或使CLR實現這一點 -

微軟已經定義了通用語言規範CLS) 編譯器供應商的詳細信息編譯器必須支持的最小功能集 如果這些編譯器要生成類型 兼容其他組件編寫的其他組件CLR兼容 語言在CLR上。