C#/.NET CTS和CLS:公共类型系统和公共语言规范
2023-06-13 09:11:59 时间
.NET 框架最主要的两个组成部分是 CLR 和框架类库,而 CLR 最主要的两个组成部分是 CTS(公共类型系统)和 CLS(公共语言规范)。
简单地说,CTS 就是计算机语言的一种语法和规范。
例如,它允许接口、类、结构、枚举这些类型的存在,并且,规定了每种类型可以或不可以包含什么成员。
如果 C# 没了语法,那就没有类,没有接口,变成了伪码。
CTS 是微软制定的一套标准化语法。它规定了一套约束,就像英语规定所有的字词都是由 26 个字母组成的一样,服从这套语法的语言都可以看成是英语(或英语的某种方言),例如中古英语、现代英语都是英语,而德语字母并非英语字母,所以它不是英语。
同理,所有服从 CTS 的语言,都可以看成 .NET 框架的语言。
CTS 定义了类型,类型指的是集合{类、结构、接口、枚举、委托}中的任意一个成员。
.NET 框架的众多语言各自实现了 CTS 的一部分功能。
做一个不太恰当的类比,C# 可以被认为是 美国英语 ,F# 是 英国英语 ,而 VB 是 印度英语 。
他们是英语的各种方言。他们共享一部分相同的词汇,但也各有各的特点。
例如颜色在英国英语中的拼写是 colour,美国英语则是color。
.NET 框架的众多语言都只实现 CTS 的一小部分功能,这部分功能称为 CLS(Common Language Specification,公共语言规范)。
这是这些语言(的程序集)可以相互使用的前提。
如果你创建一个新语言,但不满足 CLS 的要求,那你的语言就不能被其他 .NET 框架的语言(的程序集)使用。
下图演示了 CTS 和 CLS 的关系。如果你想实现一个.NET 框架语言,你最少必须实现 CLS 中的功能。
22357.html
c相关文章
- 【100个 Unity实用技能】| C#中List.Find 方法详解 查找符合要求的第一个元素并返回
- asp.net(C#)中Repeater嵌套绑定Repeater[通俗易懂]
- 一个C#开发者学习SpringCloud搭建微服务的心路历程
- C# 程序基础结构
- C#-调用浏览器打开网页
- [C#.NET 拾遗补漏]16:几个常见的TAP异步操作
- c#面试题抽象类和接口的区别-金三银四面试:C#程序员经常遇到的30道基础面试题,想你所想
- 分享一款漂亮的 C# .Net 图形验证码
- 【愚公系列】2023年02月 .NET/C#知识点-.NET Core配置文件详解
- C#/.NET程序集详解
- NET 与 Oracle技术结合开启数据库新篇章(.net事物oracle)
- 型使用NET与MySQL开发动态类型Web应用程序(.net mysql 类)
- C#使用正则表达式实例
- mssql存储过程调用C#编写的DLL文件
- asp.net(c#)文件下载实现代码
- C#最简单的关闭子窗体更新父窗体的实现方法
- C#反射的一些应用
- ASP.NET(C#)验证数字的两种方法
- c#中的interfaceabstract与virtual介绍
- C#使用FolderBrowserDialog类实现选择打开文件夹方法详解
- C#中使用ADOMD.NET查询多维数据集的实现方法
- C#中分部方法和分部类分析
- C#实现将千分位字符串转换成数字的方法
- 基于C#的音乐播放器主Form实现代码