什么是重载?CTS、CLS和CLR分别做何解释
2023-07-06
答案:重载,是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。
CTS:类似于COM定义的标准二进制格式,.net定义了一个称为通用类型系统 Common Type System (CTS)的类型标准。这个类型不但实现COM的变量兼容,而且还定义了通过用户自定义类型的方式进行类型扩展。任何类型的方式进行类型扩展。任何以.net平台作为目标的语言必须建立它的数据类型与CTS的类型间的影射。所有,net语言共享这一类型系统,实现他们之间无缝的互操作。该方案还提供了语言之间的继承性。
CLS:.net通过定义公共语言规范(CLS:Common Language Specification),限制了由这些不同引发的互操作性问题。CLS指定了一种以.net平台为目标的语言所必须支持的最小特征,以及该语言与其他.net语言之间实现互操作性所需要的完备特征。CLS是CTS的饿一个饿子集。之间和就意味着一种语言特征可能符合CTS标准,但又超出CLS的范畴。
CLR: 公共语言运行库Common Language Runtime(CLR).CLR是CTS的实现,也就是说,CLR是应用程序的执行引擎和功能齐全的类库,该类库严格按照CTS规范实现。作为程序执行引擎,CLR负责安全地载入和运行用户程序代码,包括对不同对象的垃圾挥手和安全检查。CLR监控之下运行的代码,称为托管代码(managed code)。