什么是cls2007-09-09 本站 2.2.4、公用语言规范(CLS)公用语言规范(Common Language Specification,CLS),是CLR定义的语言特性集合,主要用来解决互操作的问题。如果一个类遵守CLS,那么同样遵守CLS规范的其它编程语言将能够使用它的外部可见项。使被不同语言的编译器所编译的对象能够相互理解的唯一方法,是所有在互操作过程中涉及的数据类型和语言特性对所有的语言来说是公共的。为了这个目的,公用运行时环境标识了一组语言特征的集合,称为公用语言规范(CLS)。如果你的组件在应用程序接口(Application Program Interface)中仅使用CLS的特征语言(包括子类),那么该组件能够被任何支持CLS的语言所编译的组件所访问。所有支持CLS并仅使用CLS中的语言特征的组件被称为符合CLS的组件。设计公用语言规范时遇到的一个最主要的挑战是选择适当的语言特性子集的大小。它应具有完全的表达能力,又应足够小,使得所有的语言能够容纳它。由于CLS是关于语言互用性的规范,它的规则仅应用于外部可见的条目中。CLS假设语言间的互操作性仅在语言集合的边界发生交叉时才是最重要的。也就是说,在单一的语言集中对于编程技术的使用没有任何限制。CLS的规则仅作用于在定义它们的语言集合之外仍然可见的项上。这样就大大缩小了CLS的范围,减轻了的负担。在CLS中是用System.CLSCompliantAttribute类来标识一个集合或者类是否是符合CLS规范的:在System.CLSCompliantAttribute的构造器中有一个Boolean型的返回值,代表了与之相关联的项是否符合CLS规范。