zoukankan      html  css  js  c++  java
  • Cls规则

    cls定义了组件和cls兼容的要求,以使组件可以在不同的.net语言中使用。在设计一个能用于其他语言的组件时,必须使该组件与cls兼容。这样才能保证这个组件可以用于所有的。net语言。如果把一个类标记为与cls兼容,编译器就会对不兼容的方法进行警告。
    在讨论.net语言时,必须区分.net consumer和.net extender工具。
    当把程序集标记为兼容的,仍可以定义不兼容的方法,如果重写某些方法,使其参数是兼容的和不兼容的数据类型,就必须把类中的不兼容的方法的clscompliant属性设置为false。clscompliant属性可以应用到类型、方法、属性、字段和事件。
    .net consumer工具只适用.net Framework中的类,不能创建可以用于其他语言的。net类。.net consumer工具可以使用任何与cls兼容的类。.net extender工具则可以满足consumer的要求,另外可以继承任何与cls兼容的.net类,定义了可以由consumer使用的新cls兼容类。
    利用CLSCliant属性,可以把程序集标记为与cls兼容,这样可以确保这个程序集中的类能用于所有的.net consumer工具。
    程序集与cls规则兼容的要求:
    • 方法原型中的所有类型都必须与cls兼容
    • 数组元素的元素类型必须与cls兼容
    • cls兼容类必须继承与cls兼容类,
    • 在cls兼容类中,方法名是不区分大小写的
    • 枚举的类型必须是int16,或int32,int64
    • 上述枚举的要求只适用于公共成员和受保护的成员。
  • 相关阅读:
    MongoDB理解
    jQuery+Ajax+PHP实现异步分页数据显示
    PHP设计模式四:适配器模式
    PHP设计模式三:原型设计模式
    Event Managers
    NetAdvantage
    英语
    CA1060
    DateTime和DateTime2
    宿主进程 vshost.exe
  • 原文地址:https://www.cnblogs.com/yue/p/1014708.html
Copyright © 2011-2022 走看看