国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

[C#高級編程].NET體系結構

2019-11-17 02:32:26
字體:
來源:轉載
供稿:網友

[C#高級編程].NET體系結構

本章內容:

編譯和運行面向 .NET的代碼

MSIL的優點

值類型和引用類型

數據類型化

理解錯誤處理和特性

程序集、.NET基類和命名空間

本章主要介紹一些概念,內容不多。

C#是專門為Microsoft的.NET Framework設計的一門語言,是一種面向對象方法的語言。

C#就其本身而言,只是一門語言,盡管它用于生成.net Framework的代碼,但它本身不是.net的一部分。.net支持的一些特性C#本不支持,反之一樣,如:C#支持運算符重載,.net是不支持的。

.NET Framework的核心是其運行庫執行環境,稱為公共語言運行庫(CLR)或.NET運行庫。通常將在CLR控制下運行的代碼稱為托管代碼(managed code)

編譯過程:

把源代碼編譯為MSIL(Microsoft Intermediate Language),Microsoft中間語言。

CLR把IL編譯為平臺專用代碼

IL: 低級語言,語法簡單,可快速轉換為本地機器碼,區分大小寫,基于堆棧的語言。優點:平臺無關、提高性能及語言的互操作性。

IL主要特征:

面向對象和使用接口

值類型和引用類型之間的顯著差異

強數據類型化

使用異常來處理錯誤

使用特性

CTS: 通用類型系統,通過類型,用一種編程語言寫的代碼能與用另一種語言寫的代碼溝通,CTS描述了類型的定義和行為。

CLS: 公共語言規范,和CTS一起確保語言的互操作性,是一個最低標準集。

GC: 垃圾回收器用來在.NET中進行內存管理,特別是它可以恢復正在運行的應用程序需要的內存。

應用程序域是.NET中的一個重要技術改進,是分離組件的一種方式,用于減少運行應用程序的系統開銷。

程序集:包含編譯好的,面向.NET Framework的代碼邏輯單元,可以存儲在多個文件中。

可執行代碼和庫代碼使用相同的程序集結構,唯一的區別是可執行的程序集包含一個主程序入口,而庫程序集不包含。

程序集的一個重要特性是它們包含的元數據描述了對應代碼中定義的類型和方法。程序集也包含描述程序集本身的元數據。

私有程序集是最簡單的一種程序集類型,一般附帶在某個軟件上,且只能用于該軟件。因為私有程序集完全是自包含的,所以部署它的過程就很簡單,只需把相應的文件放在文件系統對應文件夾中即可(不需要注冊表項),這個過程稱為“0影響(xcopy)安裝”。

共享程序集是其他應用程序可以使用的公共庫。因為其他軟件可以訪問共享程序集,所以需要采取一定的保護措施防止名稱沖突及版本覆蓋的風險。

解決辦法是把共享程序集放在文件系統的一個特定的子目錄樹中,稱為GAC(全局程序集緩存)。

為了避免名稱沖突,應根據私鑰加密法為共享程序集指定一個名稱(對于私有程序集,只需要指定與其主文件名相同的名稱即可),該名稱稱為強名,保證其唯一性,必須由要引用共享程序集的應用程序來引用。

與版本覆蓋風險相關的問題,可以通過在程序集清單中指定版本信息來解決,也可以通過同時安裝來解決。

程序集存儲了元數據,包括在程序集中定義的所有類型和這些類型的成員三細節,所以可以編程訪問這些數據,這個技術稱為反射。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通许县| 阳江市| 卢龙县| 朝阳县| 乌鲁木齐县| 林甸县| 商城县| 运城市| 神农架林区| 万宁市| 长顺县| 遂平县| 江阴市| 工布江达县| 通榆县| 托克逊县| 土默特左旗| 罗定市| 商洛市| 和林格尔县| 丹凤县| 邛崃市| 乌兰县| 鄂温| 松阳县| 辽宁省| 定兴县| 洪洞县| 阿尔山市| 青浦区| 永康市| 花垣县| 泗阳县| 泸水县| 通许县| 鄂尔多斯市| 柳林县| 台江县| 华容县| 汪清县| 天峨县|