“公共语言规范”(CLS)
一、什么是“公共语言规范”(CLS)
定义了一个最小公共集,任何编译器只有支持这个功能集,生成的类型才能兼容其他符合CLS、面向CLR的语言生成的组件
二、CLS规则
类型的每个成员要么是字段(数据),要么是方法(行为),为简化编程,语言往往提供了额外的抽象
public class Test { //构造器 public Test() { } //终结器 ~Test() { } //操作符重载 public static Boolean operator ==(Test t1, Test t2) { return true; } public static Boolean operator !=(Test t1, Test t2) { return false; } public static Test operator +(Test t1, Test t2) { return t1; } //属性 public String AProperty { get { return null; } set { } } //索引器 public String this[int index] { get { return null; } set { } } //事件 event EventHandler AnEvent; }
该类型还有另一些节点未列出,包括.class、.custom、AnEvent、AProperty以及Item--他们标识了类型的其他元数据。这些节点不映射到字段或方法,只是提供了类型的一些额外的信息,供CLR、编程语言或工具访问。例如工具可以检测到该类型提供了一个名为AnEvent的事件,该事件借由两个方法(add_AEvent和remove_AEvent)公开
学习永不止境,技术成就梦想。