欧美特黄不卡,涩涩视频在线,成人国产精品一区二区网站,亚洲一区二区三区欧美

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

.NET框架程序設(shè)計(jì)讀書(shū)筆記(3)--.net框架類庫(kù)(FCL)與通用分類系統(tǒng)、代碼互設(shè)置

.NET框架程序設(shè)計(jì)讀書(shū)筆記(3)--.net框架類庫(kù)(FCL)與通用分類系統(tǒng)、代碼互設(shè)置

更新時(shí)間:2022-05-07 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

1.5 .net框架類庫(kù)

.net框架中包括有一組.net框架類庫(kù)(Framework Class Library,簡(jiǎn)稱FCL)程序集,其中含 有幾千個(gè)類型的定義,每個(gè)類型都提供了某種功能。

CLR和FCL允許開(kāi)發(fā)人員創(chuàng)建以下幾種應(yīng)用程序:

l XML Web 服務(wù) 即XML Web Services,又簡(jiǎn)稱Web服務(wù)。該服務(wù)使我得我們可以非常容易地通過(guò)互聯(lián)網(wǎng)來(lái)進(jìn)行方法調(diào)用。

l Web 窗體 即Web Forms 就是ASP.NET應(yīng)用程序。他提供了類似于開(kāi)發(fā)Windows程序的方法來(lái)開(kāi)發(fā)Web應(yīng)用程序。

l Windows 窗體 即Windows Forms,Windows圖形用戶界面(GUI)應(yīng)用程序。

l Windows 控制臺(tái)應(yīng)用程序

l Windows 服務(wù)

l 組件庫(kù)



FCL的所有類型 可以通過(guò) 文檔查得。



1.6通用類型系統(tǒng)

類型為應(yīng)用程序和組件提供了它們所需要的功能。

類型作為一種機(jī)制使得一種語(yǔ)言編寫(xiě)的代碼可以和另一種語(yǔ)言編寫(xiě)的代碼進(jìn)于無(wú)縫地集成。

類型是CLR的基礎(chǔ)。微軟為此專門制定了一個(gè)正式的規(guī)范----通用類型系統(tǒng)來(lái)描述類型的定義和行為。

CTS定義的類型的組成部分:

l 字段 字段是一個(gè)屬于對(duì)象狀態(tài)部分的數(shù)據(jù)成員。字段由它們的名稱和類型標(biāo)識(shí)。

l 方法 方法是一個(gè)在對(duì)象上執(zhí)行某種操作的函數(shù),通常會(huì)改變對(duì)象的狀態(tài)。方法有一個(gè)名稱、簽名和修飾符。

l 屬性 屬性調(diào)用時(shí),類似于字段,實(shí)現(xiàn)時(shí),類似于方法。提供了與使用字段相似的方式來(lái)使用方法。

l 事件 事件允許在一個(gè)對(duì)象和其他相關(guān)聯(lián)的對(duì)象之間建立一個(gè)通知機(jī)制。

CTS定義的成員的可見(jiàn)性:

Private 方法只能被同一類型中的其他方法調(diào)用。

l Family 方法可以被派生類型中的代碼調(diào)用,而不管它們是否位于同一個(gè)程序集中。(C#中 稱之為:protected)

l Family 與 assembly 方法只可以被位于同一個(gè)程序集中的派生類型中的代碼調(diào)用。(C# 和Visual Basic沒(méi)有提供這種訪問(wèn)控制。

l Assembly 方法可以被同一個(gè)程序集中的任何代碼調(diào)用,(在c#中稱為:internal).

l Family 和 assembly 方法可以被任何程序集中的派生類型的代碼調(diào)用,也可以被同一程序集中的任何類型調(diào)用。 C#稱為 Protected internal.

l Public 方法可以被任何程序集中的任何代碼調(diào)用。



CTS 僅支持 單繼承

CTS規(guī)定所有的類型都必須(直接或間接)繼承自預(yù)定義類型System.Object.





1.7 通用語(yǔ)言規(guī)范

CLR集成了所有的編程語(yǔ)言,并且允許一種語(yǔ)言創(chuàng)建的對(duì)象在另一種不同的語(yǔ)言編寫(xiě)的代碼中被看作同等的成員。CLR的標(biāo)準(zhǔn)類型集合,自描述類型的信息(即元數(shù)據(jù)),和通用執(zhí)行環(huán)境使得這種集成成為可能。

通用語(yǔ)言規(guī)范(Common Language Specification,簡(jiǎn)稱CLS),為描述了面向CLR的編譯器必須支持的一個(gè)最小特性集合。

CLS規(guī)定.net平臺(tái)下的各種語(yǔ)言必須支持類型規(guī)則的最小集合,所有.net平臺(tái)的語(yǔ)言都必須支持。當(dāng)然,每種語(yǔ)言都可以更多地支持CTS上的規(guī)則。

C#和Visual Basic 都必須支持CLS,但除此這外,c#可以另外支持CTS的一些特性,而Visual Basic也可以直持一些C#沒(méi)有的CTS中的特性。當(dāng)然,當(dāng)你使用C#編寫(xiě)供Visual Basic 使用的組件時(shí),不能在公用的接口上使用Visual Basic不支持的特性。如:

Public Uint32 Abc() 該public 方法返回Uint32 Visual Basic不支持。編譯器會(huì)報(bào)錯(cuò)。

當(dāng)然,當(dāng)你使用 private Uint32 Abc() ,是允許的,因?yàn)樗皇枪械摹?br>


CLS規(guī)定,CLR中,類型的每個(gè)成員或者是一個(gè)字段,或者是一個(gè)方法。各種編程語(yǔ)言中的枚舉、數(shù)組、屬性、索引器、委托、事件、構(gòu)造器、析構(gòu)器、重載操作符、轉(zhuǎn)換操作符等等都需要在編譯時(shí)翻譯成字段或方法,這樣,其他語(yǔ)言才能夠訪問(wèn)它們。



1.8 與非托管代碼互操作



.net框架提供了比其他開(kāi)發(fā)平臺(tái)更為優(yōu)越的特性,并且允許應(yīng)用程序同時(shí)含有托管和非托管部分。具體來(lái)說(shuō),有三種互操作情形:



l 托管代碼調(diào)用DLL中的非托管函數(shù) 托管代碼可以很容易地使用一種稱作 P/Invoke(即Platform Invoke,平臺(tái)調(diào)用)的機(jī)制來(lái)調(diào)用DLL(動(dòng)態(tài)鏈接庫(kù)文件)。

l 托管代碼使用現(xiàn)存的COM組件(非托管組件作為COM服務(wù)器) 可以創(chuàng)建描述它們的托管程序集。托管代碼可以象訪問(wèn)其他托管代碼一樣訪問(wèn)這些托管程序集中的類型。

l 非托管代碼使用托管類型(托管類型作為CO

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

主站蜘蛛池模板: 申扎县| 西华县| 宁波市| 石河子市| 青铜峡市| 岐山县| 高州市| 泾川县| 宁都县| 江阴市| 乌苏市| 辽源市| 屏山县| 兴宁市| 长沙县| 綦江县| 万载县| 雷波县| 河源市| 高平市| 阿荣旗| 姚安县| 晋宁县| 大余县| 沧源| 阳新县| 手机| 翁源县| 安康市| 伊金霍洛旗| 永和县| 偃师市| 乌兰察布市| 上犹县| 绥芬河市| 永吉县| 晋江市| 苏尼特左旗| 肥城市| 都安| 姚安县|