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

Tom*_*een 3 .net cls-compliant

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

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

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

Han*_*ant 5

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

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

 [assembly:CLSCompliant(true)]
Run Code Online (Sandbox Code Playgroud)

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