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
  • 上述枚举的要求只适用于公共成员和受保护的成员。

转载于:https://www.cnblogs.com/yue/archive/2007/12/25/1014708.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值