1.6 Framework類庫
1. .NET Framework中包含了Framework類庫(Framework Class Library,FCL)。
2. FCL是一組DLL程序集的統稱,其中含有數千個類型定義,每個類型公開一些功能。 1.7 通用類型系統 1. CLR是完全圍繞類型展開的。 2. 類型為應用程序和其他類型公開了功能。通過類型,用一種編程語言寫的代碼能與另一種語言寫的代碼溝通。 3. 由於類型是CLR的根本,所有MicroSoft指制定了一個正式的規范,即"通用類型系統"(Common Type System,CTS),它描述了類型的定義和行為。 4. CTS規定,一個類型可以包含一個或者多個成員。比如:字段、方法、屬性、事件等。 5. CTS還指定了類型可視性規則以及類型成員的訪問規則。如privae、family(C#:protected)、family and assembly(C#:沒有)、assembly(C#:internal)、family or assembly(C#:protected internal)、public 6. CTS規定所有類型最終必須從預定義的System.Object類型繼承。 1.8 公共語言規范 1. MicroSoft定義了一個"公共語言規范"(Common Language Specification,CLS),它詳細定義了一個最小的功能集。任何編譯器生成的類型要想兼容於其他"符合CLS、面向CLS的語言"所生成的組件,就必須支持這個最小的功能集。 2. CLS定義了所有語言必須支持的一個最小的功能集。 1.9 與非托管代碼的互操作性 1.CLR提供了一些機制,允許在應用程序中同時包含托管代碼和非托管代碼。具體說,CLR支持三種互操作情形。 1)托管代碼能調用DLL中俄非托管函數。托管代碼采取一種名為P/Invoke(Platform Invoke)的機制來調用DLL中的包含的函數。 2)托管代碼可使用現有的COM組件(服務器)。 3)非托管代碼可使用托管類型(服務器)。