.net - 是否有常用的不符合 CLS 的 .NET 语言?

标签 .net cls-compliant

现在是否有常用的不符合 CLS 的 .NET 语言?看起来 VS2012 附带的每种托管语言都支持无符号整数类型,因此实际上来说,在公共(public)/ protected 类型签名中使用“无符号”可能会遇到多大麻烦?

看起来 CLR、CTS 和相关技术目前已基本“完成”,因此人们想知道 CLS 合规性对于“现代”.NET 代码有多大影响。

我们现在是否纯粹是出于动力而跳过 CLS 的圈子?

最佳答案

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

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

 [assembly:CLSCompliant(true)]

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

关于.net - 是否有常用的不符合 CLS 的 .NET 语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13703935/

相关文章:

c# - .NET 4.0 与 2.0 中的数据绑定(bind)工作方式不同

DD/MM/YY 的 JavaScript 验证

c# - 为什么这个带下划线的名称不符合 CLS?

c# - 为什么我的代码不符合 CLS?

c# - 动态添加控件到控件列表

c# - 如何比较不区分大小写和不区分重音的字符串

c# - 将通用字典转换为不同类型

.net - .NET 中的 'CLSCompliant' 属性是什么?

antlr3 - 适用于 C# 和 CLSCompliant 属性的 ANTLR