频道栏目
读书频道 > 软件开发 > C# > Learning hard C#学习笔记
1.2.1 .NET Framework的组成
2015-02-26 13:21:42     我来说两句
收藏   我要投稿

本文所属图书 > Learning hard C#学习笔记

本书是一本面向C 初学者的实用教程。从开发基础开始,由浅入深地讲解了C 的基础语法和重要特性,分析了在开发中必须掌握的技术要领和经验心得。语言轻松幽默,通过精心选择的实例和详尽的代码全面介绍了C 最具特  立即去当当网订购
前面简单介绍了.NET Framework的概念,接下来,让我们看看.NET Framework具体是由哪几部分组成的。

.NET Framework包括公共语言运行时(Common Language Runtime,CLR)和.NET Framework类库(Framework Class Library,FCL)。

1. 公共语言运行时

公共语言运行时是.NET Framework的核心基础。我们可以将CLR看成一个在执行时管理代码的代理,它提供了内存管理、线程管理和异常处理等服务,而且还负责对代码实施严格的类型安全检查,保证了代码的正确性。我们将受CLR管理的代码称为托管代码(managed code),将不受CLR管理的代码称为非托管代码(unmanaged code)。

CLR包含两个组成部分:通用类型系统(Common Type System,CTS)和公共语言规范(Common Language Specification,CLS)。下面来具体了解这两个组件的功能。
  • CTS
C#和VB.NET都是由CLR进行管理的,但是它们的语法和数据类型各不相同,CLR是如何对这两种不同的语言进行托管的呢?

这得益于CTS。CTS用于解决不同语言之间数据类型不同的问题,如C#中整型是int,而VB.NET中的整型却是Integer,通过CTS可以把这两个类型变成通用类型Int32。所有.NET语言都共享CTS这一类型系统,从而使它们之间能够实现无缝互操作。

CTS类型主要分为两大类:引用类型和值类型。如图1-5所示,这两种类型之间存在着相互转化,转化方法分别为装箱(box)和拆箱(unbox)。更多有关两类CTS类型转换的内容将在第10章中介绍。




  • CLS
.NET下的语言不仅仅存在数据类型的不同,语言规范上也有显著的区别,公共语言规范(CLS)就是为了解决这个问题而诞生的。

CLS是一种最低的语言标准,它制定了以.NET平台为目标的语言所必须支持的最小特征,以及某一语言与其他.NET语言之间实现互操作所需要的完备特征。凡是遵守这个标准的语言,在.NET框架下都可以实现互相调用;不符合公共语言规范的代码就不能被其他语言调用,继而不能与其他语言进行互操作。

比如在C#中,变量命名是区分大小写的,而VB.NET却不区分大小写,这样CLS就规定,编译后的IL代码除了大小写之外必须还有其他的不同。图1-6很好地演示了两者之间的区别。



2. .NET Framework

.NET Framework类库就是一组DLL程序集的集合,其中包含了大量定义好的类型,这些类型都公开了一些功能。我们可以使用这些公开的功能开发出多种应用程序,例如前面介绍的Windows Forms和ASP.NET应用程序。

由于FCL中包含了数量极多的类型,因此有必要将相关的一组类型放到一个单独的命名空间中加以区分,例如System.IO命名空间中就包含了用于执行I/O操作的类型。因此,在使用FCL中某个类时,还必须知道该类所在的命名空间。

图1-7可以帮助大家更好地理解公共语言运行时、类库与应用程序之间以及与整个操作系统之间的关系。





您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.2 什么是.NET Framework
下一篇:1.2.2 C#与.NET Framework的关系
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站