【正文】
metadata about types at run time. ? Inline XML documentation ments. If you need to interact with other Windows software such as COM objects or native Win32 DLLs, you can do this in C through a process called Interop. Interop 13 enables C programs to do just about anything that a native C++ application can do. C even supports pointers and the concept of unsafe code for those cases in which direct memory access is absolutely critical. The C build process is simple pared to C and C++ and more flexible than in Java. There are no separate header files, and no requirement that methods and types be declared in a particular order. A C source file may define any number of classes, structs, interfaces, and events. C programs run on the .NET Framework, an integral ponent of Windows that includes a virtual execution system called the mon language runtime (CLR) and a unified set of class libraries. The CLR is Microsoft39。典型的 C 應(yīng)用程序使用 .NET Framework 類庫(kù)廣泛地處理常見(jiàn)的 “ 日常 ” 任務(wù)。 語(yǔ)言互操作性是 .NET Framework 的一個(gè)關(guān)鍵功能。然后,如果符合安全要求, CLR 執(zhí)行實(shí)時(shí) (JIT) 編譯以將 IL 代碼轉(zhuǎn)換為本機(jī)機(jī)器指令。 用 C 編寫(xiě)的源代碼被編譯為一種符合 CLI 規(guī)范的中間語(yǔ)言 (IL)。 C 源文件可以定義任意數(shù)量的類、結(jié)構(gòu)、接口和事件?;ゲ僮魇? C 程序能夠完成本 機(jī) C++ 應(yīng)用程序可以完成的幾乎任何任務(wù)。 ? 屬性 (Property),充當(dāng)私有成員變量的訪問(wèn)器。類可能直 5 接從一個(gè)父類繼承,但它可以實(shí)現(xiàn)任意數(shù)量的接口。 C 還支持泛型方法和類型,從而提供了更出色的類型安全和性能。 C 語(yǔ)法表現(xiàn)力強(qiáng),只有不到 90 個(gè)關(guān)鍵字,而且簡(jiǎn)單易學(xué)。使用設(shè)計(jì)器可以為控件生成設(shè)計(jì)時(shí)用戶界面,這樣開(kāi)發(fā)人員可以在可視化設(shè)計(jì)工具中配置控件的屬性和內(nèi)容。 包括一個(gè)可擴(kuò)展的宿主環(huán)境,該環(huán)境控制應(yīng)用程序的生命周期,即從用戶首次訪問(wèn)此應(yīng)用程序中的資源(例如頁(yè))到應(yīng)用程序關(guān)閉這一期間。 4 支持 XML Web services。這些事件顯示診斷和監(jiān)視特征的組合,并在記錄哪些事件以及如何記錄事件等方面提供了高度的靈活性。由于這些 XML 文件是 ASCII 文本文件,因此對(duì) Web 應(yīng)用 程序進(jìn)行配置更改比較簡(jiǎn)單。 提供了分布式狀態(tài)功能,使您能夠管理一臺(tái)計(jì)算機(jī)或數(shù)臺(tái)計(jì)算機(jī)上同一應(yīng)用程序的多個(gè)實(shí)例的狀態(tài)信息。 始終使用特定的 Windows 標(biāo)識(shí)運(yùn)行,因此,您可以通過(guò)使用 Windows 功能(例如 NTFS 訪問(wèn)控制列表 (ACL)、數(shù)據(jù)庫(kù)權(quán)限等等)來(lái)保護(hù)應(yīng)用程序的安全。 除了 .NET 的安全功能外, 還提供了高級(jí)的安全基礎(chǔ)結(jié)構(gòu),以便對(duì)用戶進(jìn)行身份驗(yàn)證和授權(quán),并執(zhí)行其他與安全相關(guān)的功能。當(dāng)用戶請(qǐng)求內(nèi)容頁(yè)時(shí),這些內(nèi)容頁(yè)與母版頁(yè)合并,產(chǎn)生將母版頁(yè)的布局與內(nèi)容頁(yè)中的內(nèi)容組合在一起的輸出。可以先定義主題和外觀,然后 在頁(yè)面級(jí)或控件級(jí)應(yīng)用這些主題和外觀。 使用 頁(yè)和控件框架還可以將常用的 UI 功能封裝成易于使用且可重用的控件。 2 網(wǎng)頁(yè)是完全面向?qū)ο蟮摹?梢詮娜魏螢g覽器或客戶端設(shè)備請(qǐng)求 網(wǎng)頁(yè), 會(huì)向請(qǐng)求瀏覽器呈現(xiàn)標(biāo)記( 例如 HTML)。當(dāng)您編寫(xiě) 應(yīng)用程序的代碼時(shí),可以訪問(wèn) .NET Framework 中的類。 作為 .NET Framework 的一部分提供。 包括: ? 頁(yè)和控件框架 ? 編譯器 ? 安全基礎(chǔ)結(jié)構(gòu) ? 狀態(tài)管理功能 ? 應(yīng)用程序配置 ? 運(yùn)行狀況監(jiān)視和性能功能 ? 調(diào)試支持 ? XML Web services 框架 ? 可擴(kuò)展的宿主環(huán)境和應(yīng)用程序生命周期管理 ? 可擴(kuò)展的設(shè)計(jì)器環(huán)境 頁(yè)和控件框架是一種編程框架,它在 Web 服務(wù)器上運(yùn)行,可以動(dòng)態(tài)地生成和呈現(xiàn) 網(wǎng)頁(yè)。 支持基于 Web 的設(shè)備(如移動(dòng)電話、手持型計(jì)算機(jī)和個(gè)人數(shù)字助理 (PDA))的移動(dòng)控件。該框架還會(huì)在頁(yè)處理生命周期中自動(dòng)維護(hù)頁(yè)及該頁(yè)上控件的狀態(tài)。 頁(yè)和控件框架還提供各種功能,以便可以通過(guò)主題和外觀來(lái)控制網(wǎng)站的整體外觀和感覺(jué)。然后可以創(chuàng)建包含要顯示的頁(yè)特定內(nèi)容的各個(gè)內(nèi)容頁(yè)。 包括一個(gè)編譯器,該編譯器將包括頁(yè)和控件在內(nèi)的所有應(yīng)用程序組件編譯成一個(gè)程序集,之后 宿主環(huán)境可以使用該程序集來(lái)處理用戶請(qǐng)求。您可以根據(jù)應(yīng)用程序的需要方便地移除、添加或替換這些方案。此信息可以獨(dú)立于頁(yè)上的任何控件。 配置設(shè)置存儲(chǔ)在基于 XML 的文件中。使用 運(yùn)行狀況監(jiān)視可以報(bào)告關(guān)鍵事件,這些關(guān)鍵事件提供有關(guān)應(yīng)用程序的運(yùn)行狀況和錯(cuò)誤情況的信息。 此外, 頁(yè)框架提供使您可以將檢測(cè)消息插入 網(wǎng)頁(yè)的跟蹤模式。因此,用任何語(yǔ)言編寫(xiě)、使用任何組件模型并在任何操 作系統(tǒng)上運(yùn)行的程序,都可以訪問(wèn) XML Web services。 中提供了對(duì)創(chuàng)建 Web 服務(wù)器控件設(shè)計(jì)器(用于可視化設(shè)計(jì)工 具,例如 Visual Studio)的增強(qiáng)支持。 Microsoft Visual C 2021 提供 高級(jí)代碼編輯器、方便的用戶界面設(shè)計(jì)器、集成調(diào)試器和許多其他工具,以在 C 語(yǔ)言版本 和 .NET Framework 的基礎(chǔ)上加快應(yīng)用程序的開(kāi)發(fā)。 C 語(yǔ)法簡(jiǎn)化了 C++ 的諸多復(fù)雜性,同時(shí)提供了很多強(qiáng)大的功能,例如可為空的值類型、枚舉、委托、匿名方法和直接內(nèi)存訪問(wèn),這些都是 Java 所不具備的。所有的變量和方法,包括 Main 方法(應(yīng)用程序的入口點(diǎn)),都封裝在類定義中。 除了這些基本的面向?qū)ο蟮脑恚?C 還通過(guò)幾種創(chuàng)新的語(yǔ)言結(jié)構(gòu)加快了軟件組件的開(kāi)發(fā),其中包括: ? 封裝的方法簽名(稱為委托),它實(shí)現(xiàn)了類型安全的事件通知。 在 C 中,如果需要與其他 Windows 軟件(如 COM 對(duì)象或本機(jī) Win32 DLL)交互,可以通過(guò)一個(gè)稱為 “Interop” 的過(guò)程來(lái)實(shí)現(xiàn)。沒(méi)有單獨(dú)的頭文件,也不要求按照特定順序聲明方法和類型。 CLI 是一種國(guó)際標(biāo)準(zhǔn),是用于創(chuàng)建語(yǔ)言和庫(kù)在其中無(wú)縫協(xié)同工作的執(zhí)行和開(kāi)發(fā)環(huán)境的基礎(chǔ)。 執(zhí)行 C 程序時(shí),程序集將加載到 CLR 中,這可能會(huì)根據(jù)清單中的信息執(zhí)行不同的操作。下圖演示了 C 源代碼文件、基類庫(kù)、程序集和 CLR 的編譯時(shí)與運(yùn)行時(shí)的關(guān)系。 除了運(yùn)行時(shí)服務(wù), .NET Framework 還包含一個(gè)由 4000 多個(gè)類組成的內(nèi)容詳盡的庫(kù),這些類被組織為命名空間,為從文件輸入和輸出到字符串操作、到 XML 分析、到 Windows 窗體控件的所有內(nèi)容提供多種有用的功能。s entry point, are encapsulated within class definitions. A class may inherit directly from one parent class, but it may implement any number of interfaces. Methods that override virtual methods in a parent class require the override keyword as a way to avoid accidental redefinition. In C, a struct is like a lightweight cl