首页 > 代码库 > “公共语言规范”(CLS)

“公共语言规范”(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)公开

 

“公共语言规范”(CLS)