深刻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.自动属性
  注意点:当咱们不须要进行逻辑断定的时候,他是和私有字段+共有的属性是等价的。
  自动属性底层会生成:私有字段+公有属
相关文章
相关标签/搜索