3

这些天是否有任何不符合 CLS 的 .NET 语言常用?看起来 VS2012 开箱即用的每一种托管语言都支持无符号整数类型,所以实际上来说,在公共/受保护类型签名中使用“无符号”可能会遇到多大麻烦?

看起来 CLR、CTS 和相关技术在这一点上基本上已经“完成”了,所以人们想知道 CLS 合规性对于“现代”.NET 代码有多少好处。

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

4

1 回答 1

5

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

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

 [assembly:CLSCompliant(true)]

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

于 2012-12-04T14:24:51.760 回答