是否有常见的非CLS兼容.NET语言?

时间:2012-12-04 13:22:20

标签: .net cls-compliant

这些天是否有常见的非CLS兼容.NET语言?看起来VS2012开箱即用的每种托管语言都支持无符号整数类型,所以实际上说在一些公共/受保护类型签名中使用“unsigned”进行前进的可能性有多大麻烦?

看起来CLR,CTS和相关技术在这一点上基本上都已“完成”,因此人们想知道“现代”.NET代码的CLS合规性有多大。

我们现在纯粹是出于动力而跳过CLS篮球吗?

1 个答案:

答案 0 :(得分:5)

CLS合规性是代码的属性,而不是语言的属性。有一个早期版本的VB.NET,你不能意外编写不兼容的代码。这并没有持续多久,它在2005年左右获得了对无符号整数类型的支持。

它仍然是相关的,您仍然可以编写一个可能在移植到.NET的语言中使用的库,它不支持无符号整数或不区分大小写,等等。方法很简单,您只需避免在代码中使用不兼容的功能,并且您的程序集应该可以正常工作。这很容易做到,将这行代码添加到任何地方:

 [assembly:CLSCompliant(true)]

当你违反规则时,编译器会给你一个警告。