C#進階編程讀書筆記之.NET體繫結構

來源:互聯網
上載者:User

不能孤立地使用c#語言,而必須和.NET Framework一起考慮。

C#的結構和方法反映了.NET基礎方法論。
在許多情況下,c#的特定語言功能取決於.NET的功能,或依賴於.NET基類。

1.1 c#與.NET的關係
(1) c#是專門為與Microsoft的.NET Framework一起使用而設計。
(2) 基於現代物件導向設計方法的語言。
1.2 公用語言運行庫
.NET Framework的核心是其運行庫的執行環境,稱為公用語言運行庫(CLR)或.NET運行庫。通常將在CLR的控制下啟動並執行代碼稱為Managed 程式碼。
在.NET中,編譯分為兩個階段:
(1)把原始碼編譯為MSIL。
(2)CLR把MSIL編譯為平台專用代碼。
Managed 程式碼的優點:
(1) 平台無關性
(2) 提高效能(需要時才編譯(JIT)),編譯一次多次執行(直到應用程式退出)。
(3) 語言的互通性。
1.3 中繼語言
面向.NET的所有語言在邏輯上都需要支援IL的主要特徵。
下面是中繼語言的主要特徵:
(1) 物件導向和使用介面
(2) 實值型別和參考型別之間的巨大差別
(3) 強型別資料
(4) 使用異常來處理錯誤
(5) 使用特性(attribute)
1.3.1 物件導向和介面支援
微軟為IL選擇的特定道路是傳統物件導向的編程,帶有類的單一繼承性。
語言的互通性的真正含義是用一種語言編寫的類應該直接與用另外一種語言編寫的類通訊。
1.3.2 相異實值型別和參考型別
1.3.3 強資料類型
中繼語言的一個重要方面是它基於強資料類型。中繼語言一般不允許對模糊的資料類型執行任何操作。
1.3.4 通過異常來處理錯誤
1.3.5 特性的使用
1.4 程式集
程式集(assembly)是包含編譯好的、面向.NET Framework的代碼的邏輯單元(不是物理單元)。
程式集的一個重要特性是它們包含的中繼資料描述了對應代碼中定義的類型和方法。程式集也包含描述程式集本身的中繼資料。
程式集有兩種類型:共用組件和私用組件
1.4.1 私用組件
私用組件是最簡單的一種程式集類型。私用組件一般附帶在某個軟體上,且只能用於該軟體。
1.4.2 共用組件
共用組件是其它應用程式可以使用的公用庫。
1.4.3 反射
因為程式集儲存了中繼資料,包含在程式集中定義的類型和這些類型成員的細節,所以可以編程訪問這些中繼資料。這個技術稱為反射。
1.5 。NET Framework類
從開發人員的角度看,編寫Managed 程式碼的最大好處是可以使用.NET基底類別庫。
.NET基類是一個內容豐富的Managed 程式碼集合,它可以完成以前要通過Windows API來完成的絕大多數任務。
.NET2.0和3.0基類包括:
IL提供的核心功能,例如,一般型別系統中的基礎資料型別 (Elementary Data Type)。
Windows GUI支援和控制項
Web表單(ASP.NET)
資料訪問(ADO.NET)
目錄訪問
檔案系統和註冊表訪問
網路和Web瀏覽
.NET的特性和反射
訪問Windows作業系統的各個方面(例如環境變數等)
COM的互通性
大部分.NET基類實際上都是用c#編寫的。

1.6 命名空間
命名空間是.NET避免類名衝突的一種方式。
1.7 用c#建立.NET應用程式
1.7.1 建立ASP.NET應用程式
1、ASP.NET 的特性
ASP.NET的頁面是結構化的,每個頁面都是繼承了.NET類的System.Web.UI.Page的類。
2、Web表單
3、XML Web服務
1.7.2 建立Windows表單
1.7.3 使用Windows Presentation Foundation(WPF)
WPF在建立 應用程式時使用XAML。XAML表示可拓展的應用程式標記語言。
1.7.4 Windows控制項
1.7.5 Windows服務
Windows服務是一個在微軟作業系統後台啟動並執行程式。
1.7.6 Windows Communication Foundation(WCF)
1.8 c#在.NET企業體繫結構中的作用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.