深刻C#框架

1..net框架結構主要包含公共語言運行時(CLR)和框架類庫(.NET Framework 類庫 ,FCL)2.CLR一、對於一個將要面向.NET平臺進行開發的人來講,瞭解一下.NET平臺的整個構成是很是有必要的,如圖1所示即說明了.NET平臺的總體結構:  這個圖就是著名的.NET平臺結構圖,從這個圖上能夠看到,.NET Framework是在Microsoft.NET 

平臺上開發的基礎,ASP.NET 

、Windows Forms 和 VS.NET 

都不過是.NET平臺開發的一部分,他的用於.NET應用程序       的開發及展現。.NET平臺的核心技術爲:通用語言運行時(CLR:Common Language Runtiome)、基類庫(BCL:Base Class Library)、.NET語言及Visual  Studio.NET 

       .NET Framework是架構在Windows平臺上的一個虛擬的運行平臺,你能夠想象將最下層Windows換作其餘的操做系統,例如說Linux,同樣能夠實現使用符合CLS(Common Language       Specification,通用語言規範)的.NET語言,(VB.NET 

、C#、JScript.NET 

等),來建立ASP.NET 

或Windows Form(可能會叫Linux Forms)應用程序的功能,這其實就是Mono計劃要實現的功能。因此能夠這  麼認爲,理論上,C#是一種能夠跨平臺的語言,這很象Java。C#另外一個比較象Java的地方是,它也是一種(特殊意義上的)語言,同Java同樣,C#編寫的程序代碼也是先經過C#編譯器編譯爲一種特殊的字節  代碼,(Microsoft Intermediate Language,MSIL,微軟)中間語言,運行時再經由特定的編譯器(JIT編譯器,Just In tIME,  JITer)編譯爲機器代碼,以供操做系統執行.不只是C#語言,全部.NET語言(將會包括我  們經常使用的幾十種現代的編碼語言)均可以編寫面向CLR的程序代碼,這種代碼在.NET中被稱爲託管代碼(Managed Code),全部的Managed Code都直接運行在CLR上,具備與平臺無關的特性。  解釋性的語言很安全,而且能夠經過他的運行平臺爲其賦予更多的功能,例如自動內存管理,異常處理等,事實上,C#語言的許多特色都是由CLR提供的,如圖2所示的CLR結構圖說明了這一點。   二、從下圖能夠看到,C#所具備的許多特色都是由CLR提供的,如類型安全(Type Checker)、垃圾回收(Garbage Collector)、異常處理(Exception Manager)、向下兼容(COM Marshaler)等,具體的說,.NET  上的CLR爲開發者提供以下的服務:◆平臺無關:CLR其實是提供了一項使用了虛擬機技術的產品,他構架在操做系統之上,並不要求程序的運行平臺是 Windows系統,只要是可以支持它的運行庫的系統,都  能夠在上面運行.NET應用。因此,一個徹底由託管代碼組成的應用程序,只要編譯一次,就能夠在任何支持.NET的平臺上運行.◆跨語言集成:CLR語序開發這以任何語言進行開發,用這些語言開發的代碼,能夠  在CLR環境下緊密無縫的進行交叉調用,例如,能夠用VB聲明一個基類對象,而後在C#代碼中直接建立次基類的派生類。◆自動內存管理:CLR提供了拉架收集機制,能夠自動管理內存。當對象或變量的生命周  期結速後,CLR會自動釋放他們所佔用的內存.◆跨語言異處理◆版本控制◆.NET安全◆簡單的組件互操做性。◆自描述組件:自描述組件是指將全部數據和代碼都放在一個文件中的執行文件。自描訴組件能夠大  大簡化系統的開發和配置,而且改進系統的可靠性。  通用語言運行時(CommonLanguageRuntiome,CLR)最先被稱爲下一代Windows服務運行時(NGWS Runtime).它是直接創建在操做系統上的一個虛擬環境,主要的任務是管理代碼的運行。CLR如今支持幾十種現  代的編程語言爲它編寫代碼,而後以一種中間語言(Intermediate Langeoage,IL)代碼的造成被執行。而且,CLR還提供了許多功能以簡化代碼的開發和應用配置,同時也改善了應用程序的可靠性。如你所知,若是  某種語言的編譯器是以運行時爲目標的,那麼利用該語言開發生成的代碼在.NET中被稱爲託管代碼,由於這樣的代碼是直接運行在CLR上的,因此具備與平臺無關的特色。在.NET平臺結構圖中,CLR的上面  是.NET的基類庫,這組基類庫包括從基本輸入輸出到數據訪問等各方面,提供了一個統一的面向對象的,層次化的,可擴展的編程接口。從.NET平臺結構圖中也能夠看到,基類  庫能夠被各類語言調用和擴展,也就是說不論是 C#,VB.NET 

仍是VC++.NET,均可以自由的調用,.NET的類庫,由於C#自身只3..Framework 類庫 (FCL).NETFramework類庫 編輯
 
  .NET Framework 包括可加快和優化開發過程並提供對系統功能的訪問的類、接口和值類型。 爲了便於語言之間進行交互操做,大多數 .NET Framework 類型都符合 CLS,於是可在編譯器符合公共語言規範 (CLS) 的任何編程語言中使用。
 
  中文名  .NETFramework類庫  目的  爲了便於語言之間進行交互操做  重要性  生成.NET 應用程序、組件的基礎  功    能  表示基礎數據類型和異常等
編輯
  .NET Framework 類型是生成 .NET 應用程序、組件和控件的基礎。 .NET Framework 包括的類型可執行下列功能:
 
  表示基礎數據類型和異常。 封裝數據結構。 執行 I/O。 訪問關於加載類型的信息。 調用 .NET Framework 安全檢查。 提供數據訪問、多客戶端 GUI 和服務器控制的客戶端 GUI。 .NET Framework 提供了一組豐
 
       富的接口以及抽象類和具體(非抽象)類。 能夠按原樣使用這些具體的類,或者在多數狀況下從這些類派生您本身的類。 若要使用接口的功能,既能夠建立實現接口的類,也能夠從某個實現接口的 .NET
 
              Framework 類中派生類。
 
                    命名約定編輯
 
.NET Framework 類型使用點語法命名方案,該方案隱含了層次結構的意思。 此技術將相關類型分爲不一樣的命名空間組,以即可以更容易地搜索和引用它們。 全名的第一部分(最右邊的點以前的內容)是命名空間
 
名。 全名的最後一部分是類型名。 例如,System.Collections.ArrayList 表示 ArrayList 類型,該類型屬於 System.Collections 命名空間。 System.Collections中的類型可用於操做對象集合。
 
此命名方案使擴展 .NET Framework 的庫開發人員能夠輕鬆建立分層類型組,並用一致的、帶有提示性的方式對其進行命名。 它還容許用全名(即命名空間和類型名稱)明確地標識類型,這樣能夠防止類型名稱發生
 
衝突。 庫開發人員在建立命名空間的名稱時應使用如下原則:
 
「公司名 稱.技術名稱」
 
例如,Microsoft.Word 命名空間就符合此原則。
 
利用命名模式將相關類型分組爲命名空間是生成和記錄類庫的一種很是有用的方式。 可是,此命名方案對可見性、成員訪問、繼承、安全性或綁定無效。 一個命名空間能夠被劃分在多個程序集中,而單個程序集能夠
 
包含來自多個命名空間的類型。 程序集爲公共語言運行時中的版本控制、部署、安全性、加載和可見性提供外形結構。
 
4.類和對象
  .類和對象的關係 Dept dept=new Dept();
  解析:類是對象的類型 ( 具備相同行爲和特徵的統一種類) code層面:Dept
  對象是類的實例 (具體的一個個事物)code層面:dept5.封裝  就是保護一些私有字段的安全。體現2:將方法和字段放入一個容器(類)中。6.自動屬性
  注意點:當咱們不須要進行邏輯斷定的時候,他是和私有字段+共有的屬性是等價的。
  自動屬性底層會生成:私有字段+公有屬
相關文章
相關標籤/搜索