7

由于英语不是我的母语,我想知道单词的确切语义Common Type System (CTS)。它们可以被解释为通用类型系统还是 .NET Framework 通用的类型系统?那是系统是通用的还是类型是通用的。:)

4

4 回答 4

4

这是第二个选项,它是 .Net 平台上所有语言(C#、VB、F#、...)上“通用”的“类型系统”(定义类、方法、属性的方式,...)。当然,我可能记错了,但我很确定“CTS”一词明确指的是 CLR*) 存储和使用描述一切结构的元数据的方式。

*) 您可能已经看过 CLR 术语了。这是通用语言运行时。它的“共性”在语言上以相同的方式构造。它不是“通用语言”运行时,而是通用“语言运行时”,是所有人通用的执行平台。

然而——实际上——你提出的“第二种方式”也有一些微妙的含义。有些类型实际上很常见,例如最基本的集合(ArrayList、Collection、HashSet,...)或接口(IEnumerable,IList,...)。但是,它们被称为 BCL,即基类库。

于 2014-07-06T20:40:26.213 回答
3

在他的书(Pro C# 2008 and the .NET 3.5 Platform)中,Andrew Troelsen 在标题下说:

介绍 .NET 平台的构建块(CLR、CTS 和 CLS)

.NET 平台的另一个构建块是通用类型系统或 CTS。CTS 规范全面描述了运行时支持的所有可能的数据类型和编程结构,指定了这些实体如何相互交互,并详细说明了它们是如何表示的- 以 .NET 元数据格式发送(本章后面有关元数据的更多信息;完整的详细信息请参见第 16 章)。了解给定的 .NET 感知语言可能不支持 CTS 定义的每个功能。公共语言规范 (CLS) 是一个相关规范,它定义了所有 .NET 编程语言可以同意的公共类型和编程结构的子集。因此,如果您构建仅公开符合 CLS 的功能的 .NET 类型,您可以放心,所有支持 .NET 的语言都可以使用它们。

然后是这个美丽的人物总结了这一切:

.NET 组件

我希望有所帮助:)

于 2014-07-06T20:59:30.640 回答
2

这是一个“常见”的“类型系统”。我认为Wikipedia 对 CTS 的解释最好:

通用类型系统 (CTS) 是一种标准,它指定类型定义和类型的特定值如何在计算机内存中表示。

于 2014-07-06T20:46:02.777 回答
2

后者。

来自CTS 上的 MSDN 文章

建立一个有助于实现跨语言集成、类型安全和高性能代码执行的框架。

(强调我的)

微软使用“共同”来表示“相互的;由多个人共享” (维基词典中的第一个形容词定义)。即,由一种以上语言共享的类型系统。

于 2014-07-06T20:40:06.033 回答