Welcome

首页 / 软件开发 / .NET编程技术 / .NET之我见系列 - 类型系统(上)

.NET之我见系列 - 类型系统(上)2012-02-11 博客园 刑天1.概览

较之以往任何一种开发语言来说,.NET在类型系统上的创新设计都是无与伦比的。强大的通用类型系统CTS(Common Type System)奠定了整个.NET体系的基石。这套类型系统是贯穿于.NET Framework和各种中间语言之间的。因此需要从两个方面来理解.NET的类型系统。

总体来说,.NET的类型是一种完全的面向对象的类型。它由最底层的object类型开始,逐步扩展,上面再分支为值类型Value Type以及引用类型Reference Type。由值类型由分支出基础值类型、用户定义值类型以及枚举类型。由引用类型分支出自描述类型、指针类型、接口类型。由自描述类型又分支出类类型、数组类型等。

下图展示了.NET的类型体系分支:

这是一基于自演化的体系,由一个根类型逐渐分支。其结构体系完全符合自然发展规律,符合面向对象的思想。这种思想早在中国古代经典著作中就奠定了理论基础,在《易经》中提到这样的思想:太极生两仪、两仪生四象、四象生八卦、八卦演万物。而.NET的类型体系正是符合这种发展的思想观。它所带来的优势是不言而喻的:

架构清晰

整个树形架构划分明确,便于程序的设计,便于理解。

通用性强

这种明确的类型系统有效的保证了.NET实现的多语言开发,中间语言转换,统一编译的特性。

便于检测

正是基于它清晰的架构,便于在程序出现错误时,按不同的类型需求检测错误。

扩展性好

统一的设计保证了类型的可扩展性。